zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
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
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
U
P±d=Mã@sZdZdZddlZddlZddlZddlZddlZddlZddlm    Z    ddl
Z ddl Z
ddl mmZddlmmZddlmZmZmZmZddlmZddl
mZddlmZdd    lmZmZmZm Z m!Z!m"Z"m#Z#m$Z$dd
l 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>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZm€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dd lmŽZŽe jZeƒZe ‘e
j’jj“d ¡d d„dDƒZ”dd„e”DƒZ•Gdd„dƒZ–Gdd„dƒZ—Gdd„dƒZ˜Gdd„dƒZ™Gdd„dƒZšGdd„dƒZ›Gdd„dƒZœGdd „d ƒZGd!d"„d"ƒZžGd#d$„d$ƒZŸGd%d&„d&ƒZ Gd'd(„d(ƒZ¡Gd)d*„d*ƒZ¢Gd+d,„d,ƒZ£Gd-d.„d.ƒZ¤Gd/d0„d0ƒZ¥d1d2„Z¦d3d4„Z§d5d6„Z¨d7d8„Z©d9d:„Zªd;d<„Z«d=d>„Z¬d?d@„Z­ej®j¯dAe”e•dBej®j¯dCe”e•dBej® °dD¡dEdF„ƒƒƒZ±dGdH„Z²dIdJ„Z³ej®j´ejµj¶dKkdLdMdNdO„ƒZ·dS)PznTests suite for MaskedArray & subclassing.
 
:author: Pierre Gerard-Marchant
:contact: pierregm_at_uga_dot_edu
zPierre GF Gerard-MarchantéN)Úreduce)Ú assert_raisesÚ assert_warnsÚsuppress_warningsÚIS_WASM)Úrequires_memory)Úndarray)Úasbytes)Úassert_Úassert_array_equalÚ assert_equalÚassert_almost_equalÚassert_equal_recordsÚ fail_if_equalÚassert_not_equalÚassert_mask_equal)iÚMAErrorÚ    MaskErrorÚMaskTypeÚ MaskedArrayÚabsÚabsoluteÚaddÚallÚallcloseÚallequalÚalltrueÚangleÚanomÚarangeÚarccosÚarccoshÚarctan2ÚarcsinÚarctanÚargsortÚarrayÚasarrayÚchooseÚ concatenateÚ    conjugateÚcosÚcoshÚcountÚdefault_fill_valueÚdiagÚdivideÚdoc_noteÚemptyÚ
empty_likeÚequalÚexpÚ flatten_maskÚfilledÚ fix_invalidÚflatten_structured_arrayÚfromflexÚgetmaskÚ getmaskarrayÚgreaterÚ greater_equalÚidentityÚinnerÚ isMaskedArrayÚlessÚ
less_equalÚlogÚlog10Ú    make_maskÚmake_mask_descrÚmask_orÚmaskedÚ masked_arrayÚ masked_equalÚmasked_greaterÚmasked_greater_equalÚ masked_insideÚ masked_lessÚmasked_less_equalÚmasked_not_equalÚmasked_outsideÚmasked_print_optionÚ masked_valuesÚ masked_whereÚmaxÚmaximumÚmaximum_fill_valueÚminÚminimumÚminimum_fill_valueÚmodÚmultiplyÚmvoidÚnomaskÚ    not_equalÚonesÚ    ones_likeÚouterÚpowerÚproductÚputÚputmaskÚravelÚrepeatÚreshapeÚresizeÚshapeÚsinÚsinhÚsometrueÚsortÚsqrtÚsubtractÚsumÚtakeÚtanÚtanhÚ    transposeÚwhereÚzerosÚ
zeros_like)ÚpicklezGsetting an item on a masked array which has a shared mask will not copycCsg|]}t |¡‘qS©)ÚnpÚdtype©Ú.0Zdt_r|r|úOd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/ma/tests/test_core.pyÚ
<listcomp>?sr‚z?bhilqBHILQefdgFDcCsg|]
}|j‘qSr|)Úcharrr|r|rr‚@sc@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!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zed1d2„ƒZd3d4„Zd5d6„Zd7d8„Zd9d:„Z d;d<„Z!d=d>„Z"d?d@„Z#dAdB„Z$dCdD„Z%dEdF„Z&dGdH„Z'dIdJ„Z(dKdL„Z)dMdN„Z*dOdP„Z+dQdR„Z,dSdT„Z-edUdV„ƒZ.dWdX„Z/dYdZ„Z0d[d\„Z1d]d^„Z2d_d`„Z3dadb„Z4dcdd„Z5dedf„Z6dgdh„Z7didj„Z8dkdl„Z9dmdn„Z:dodp„Z;dqdr„Z<dsdt„Z=duS)vÚTestMaskedArrayc Csøt ddddtddddddddg ¡}t dd    ddd
d d    dddd    dg ¡}d}d d d d d d d d d d d d g }d d d d d d d d d d d d g }t||d}t||d}t dd    ddg¡}t|d d d d gd}    t |d|¡}
| d¡|||||||||    |
f
|_dS)Nçð?çÀç@ç@ç@ç$Àç$@ç@ççð¿çÀér©Úmaskçà¿çà?皙™™™™é?ç@Œµx¯D)r}r&ÚpirJrxÚset_fill_valueÚd© ÚselfÚxÚyÚa10Úm1Úm2ÚxmÚymÚzÚzmÚxfr|r|rÚ setup_methodFs&"  
zTestMaskedArray.setup_methodcCsrtdddgƒ}tdddgdddgd}t|jdƒt|jdƒt|jdƒt|jdƒt|jdƒt|jdƒdS)Nréérr‘©r§)r&r ÚndimÚsizerl©r›ÚaÚbr|r|rÚtest_basicattributesUs     z$TestMaskedArray.test_basicattributescCsttdƒ}tt|ƒdƒtddd}tt|ƒttƒƒtddd}tt|ƒdƒtddd}t| ¡j|jjkƒdS)NrÚ0Tr‘Fr)    rJr ÚstrrSr&r
r7r~Ú_data©r›rœr|r|rÚ test_basic0d`s   zTestMaskedArray.test_basic0dc
Cs|j\
}}}}}}}}}    }
tt|ƒ ƒtt|ƒƒt|| d¡ ¡ƒt|j t¡|j t¡ƒ|j    } t
t      |¡| ƒt
|j    | ƒt
|j |j ƒt
|    j |j ƒt
|j tdd„| ƒƒt
t|ƒt|ƒtdd„|ƒƒt||
ƒtt|dƒ|
ƒt||ƒdS)NrcSs||S©Nr|©rœrr|r|rÚ<lambda>wóz.TestMaskedArray.test_basic1d.<locals>.<lambda>cSs||Srµr|r¶r|r|rr·xr¸r–)r™r
rAr7Úanyrr’ÚastypeÚintrlr r}r~r«rr-Úlenr © r›rœrržrŸr r¡r¢r£r¤r¥Úsr|r|rÚ test_basic1dks   
zTestMaskedArray.test_basic1dc
CsÔ|j\
}}}}}}}}}    }
dD]°} | |_| |_| |_| |_| |
_tt|ƒ ƒtt|ƒƒtt|ƒ| ƒt|j| ƒt|jtdd„| ƒƒtt|ƒt|ƒtdd„|ƒƒt||
ƒtt    |dƒ|
ƒt||ƒqdS)N)©ér§)ér¨cSs||Srµr|r¶r|r|rr·‹r¸z.TestMaskedArray.test_basic2d.<locals>.<lambda>cSs||Srµr|r¶r|r|rr·Œr¸r–)
r™rlr
rAr r«rr-r¼r7r½r|r|rÚ test_basic2d}s    
zTestMaskedArray.test_basic2dc
Cs’|j\
}}}}}}}}}    }
tt ||f¡t||fƒƒtt ||f¡t||fƒƒtt ||f¡t||fƒƒtt |||f¡t|||fƒƒdSrµ)r™r r}r)ršr|r|rÚtest_concatenate_basic‘s
z&TestMaskedArray.test_concatenate_basicc
Cs"|j\
}}}}}}}}}    }
d} | |_|_|_|_t|jt || ¡ƒt|jt || ¡ƒt||fdƒ} tt ||fd¡| ƒtt |j|jfd¡| jƒtdƒ}t    t
dƒddgd}t||fƒ}t |ddddgƒt |jddddgƒt||fƒ}t |ddddgƒt |jddddgƒdS)N©r§rÁrr¨FTr‘r) r™rlr r’r}rjr)Ú_maskryr&rar ) r›rœrržrŸr r¡r¢r£r¤r¥r¾Zxmymr|r|rÚtest_concatenate_alongaxisšs   z*TestMaskedArray.test_concatenate_alongaxiscCsZttttj d¡t d¡ƒƒdtfdtfgd}t    |dd…|dd…gƒ}t
||ƒdS)Né
r­r®©r~é) rJÚlistÚzipr}ÚrandomÚrandrÚfloatr»r)r)r›ÚdataÚtestr|r|rÚtest_concatenate_flexible¯sÿþz)TestMaskedArray.test_concatenate_flexiblecCsRtdddgdddgdd}t|jdƒt|jdddggƒt|jdddggƒdS)Nrr¨r§r)r’Úndmin©rr§)r&r rlr²rÆr³r|r|rÚtest_creation_ndmin¸s z#TestMaskedArray.test_creation_ndmincCsHtdddgƒ}t|d<t|dtd}t|j|jjƒt|j|jjƒdS)Nrr¨r§éÿÿÿÿ)rÓr~)r&rIrÏr rlrÆ©r›rœÚxxr|r|rÚ$test_creation_ndmin_from_maskedarray¿s
z4TestMaskedArray.test_creation_ndmin_from_maskedarraycCstdtd}t|dddg<t|ƒ}t|j|jƒt|ƒ}t|j|jƒt|ddddgdd}t|j|jƒtdd    dgd
d}t|jd
d
d
gƒtdd    dgd d}t|jd d d gƒtdd    dg|jd d }t    t
  |j|j¡ƒtdd    dg|jd
d }t    t
  |j|j¡ ƒdS) NérÉr§rÂérrr‘r¨TF©r’Úcopy) rrÏrIrr r’rr&rÆr
r}Úmay_share_memory)r›rÐZdma_1Zdma_2Zdma_3rœrr|r|rÚtest_creation_maskcreationÇs  z*TestMaskedArray.test_creation_maskcreationc    Cs:t tjj¡t t¡t dtjjg¡W5QRXdS)NrŒ)r}r&ÚmarIÚpytestÚwarnsÚ UserWarning©r›r|r|rÚ*test_masked_singleton_array_creation_warnsÛs z:TestMaskedArray.test_masked_singleton_array_creation_warnscCsÈtt d¡dddddgd}t||ddd…fƒ}t|dddddgdddddggƒt|jdddddgdddddggƒt|_t||ddd…fƒ}t|dddddgdddddggƒt|jtkƒdS)    NrÊrrr‘rÖr¨r§rÁ)r&r}rr rÆr_r’r
)r›rœrÐr|r|rÚ'test_creation_with_list_of_maskedarraysæs"$"z7TestMaskedArray.test_creation_with_list_of_maskedarraysc    CsÌtjjddgddgd}t d¡}tjj||gdd}t|jddgddggƒGd    d
„d
ƒ}tjj|ƒdgddgd}tjt    d d tj|gt
dW5QRXtj ||g¡}t|jddgddggƒdS) Nr­r®TFr‘r¨ZU21rÉc@seZdZdd„ZdS)zUTestMaskedArray.test_creation_with_list_of_maskedarrays_no_bool_cast.<locals>.NotBoolcSs tdƒ‚dS)Nú not a bool!)Ú
ValueErrorrär|r|rÚ__bool__üsz^TestMaskedArray.test_creation_with_list_of_maskedarrays_no_bool_cast.<locals>.NotBool.__bool__N)Ú__name__Ú
__module__Ú __qualname__rér|r|r|rÚNotBoolûsrírç©Úmatch) r}ràrJrr'r r’ráÚraisesrèÚbool)r›Z
masked_strZ
normal_intÚresríZ
masked_objr|r|rÚ4test_creation_with_list_of_maskedarrays_no_bool_castòs
zDTestMaskedArray.test_creation_with_list_of_maskedarrays_no_bool_castcCs0tjdgddgddgddgdœd    }t|ƒdS)
N)ÚArÚf0Úf1ZS4Úi8ré)ÚnamesÚformatsÚoffsetsrÉ)r}r&r³r|r|rÚ'test_creation_from_ndarray_with_paddings
þ
z7TestMaskedArray.test_creation_from_ndarray_with_paddingc    Cs6tjtddtdddgdddgdW5QRXdS)Nzunexpected keyword argumentrîrr¨r§r)Zmaks)rárðÚ    TypeErrorrrär|r|rÚtest_unknown_keyword_parameter sz.TestMaskedArray.test_unknown_keyword_parameterc
Csj|j\
}}}}}}}}}    }
d|_d|_t|ƒ} t| j|jƒt| j|jƒt| j|jƒt| j|jƒdS)NéñØÿÿT)r™Ú
fill_valueÚ    _hardmaskr'r r²rÆ) r›rœrržrŸr r¡r¢r£r¤r¥Zxmmr|r|rÚ test_asarrayszTestMaskedArray.test_asarraycCs2t d¡j}t|jj ƒt|ƒ}t|jjƒdS)Nr§©r}ÚeyeÚTr
ÚflagsÚ c_contiguousr'©r›ÚmZnew_mr|r|rÚtest_asarray_default_orders z*TestMaskedArray.test_asarray_default_ordercCs6t d¡j}t|jj ƒt|dd}t|jjƒdS)Nr§ÚC©Úorderrrr|r|rÚtest_asarray_enforce_order"s  z*TestMaskedArray.test_asarray_enforce_orderc    CsdtjddNttjddgdddgd}t|ƒ}t|j|jddgƒt|jdddgƒW5QRXdS)NÚignore©Úinvalidrr…rrr‘)    r}ÚerrstaterJÚnanr8r r²rrÆ)r›rÐZ
data_fixedr|r|rÚtest_fix_invalid*s
z TestMaskedArray.test_fix_invalidcCsHtdƒ}t|d<tttƒdkƒt|dtkƒtt|ddƒdƒdS)NrÂrú--r)rrIr
r±r r7r³r|r|rÚtest_maskedelement2s
z"TestMaskedArray.test_maskedelementcCsdtdtd}d}||d<t|d|ƒt|d|kƒddl}|j ¡}||d<t|d|kƒdS)NrrÉ)rr¨r§rÁrÊr)r2Úobjectr r
ÚdatetimeÚnow)r›r­rœrÚdtr|r|rÚtest_set_element_as_object:s 
z*TestMaskedArray.test_set_element_as_objectcCsþt ddddg¡}t|ddddgd}t|ddddgd}t|ƒ}t|ƒt|ƒtt |¡t|ddƒtt|dƒt|dƒkƒt|d|dkƒt|dtkƒt|d|dƒt|dd    …|dd    …ƒt|dd…|dd…ƒt|dd…|dd…ƒd
|d<d
|d<t||ƒd |dd…<d |dd…<t||ƒt|d<t||ƒt|dd…<t||ƒ||dd…<t|d<tt    t
|ƒtddddgƒƒƒt ddddgddddgƒ|dd…<tt    t
|ƒtddddgƒƒƒt ddddgddddgƒ|dd…<tt    t
|ƒtddddgƒƒƒtt    |tddddgƒƒƒt  d    ¡d }t |d ƒ}t||ƒtt    tdddddgtƒ|jƒƒtd |jƒtddddgtƒ}t ddddgt¡}|d}|d}tt|ƒtƒtt|ƒtƒt||ƒt|dd…jdkƒdS)Nrr¨rÁr§rr‘F©ÚendwithrÊé    écr…rŒZhello©r)r}r&r±Úreprr rpr
ÚtyperIrr;rJrrTrr’rrrl)r›Úx1Zx2Zx3Úx4Ús1Ús2r|r|rÚ test_indexingGsZ
 
 
 
 ""
 
  
zTestMaskedArray.test_indexingcCsštj d¡ d¡}tdddƒddgf}tj d¡}tj|jd<|||<tjj|d<tjjd    tj    d
}tjj
d ddgd d d gd}||d<||dddg<dS)Né<)rÂrÈrrÊr¨é©r¨r¨.rŒrÉgCˆœD렔pTFr‘r) r}ràrrjÚsliceÚ
masked_allÚinfr²rIÚfloat32r&)r›rœÚindexÚvaluer|r|rÚtest_setitem_no_warningys   z'TestMaskedArray.test_setitem_no_warningc
Cs:dddddg}t|ƒ}t|ƒ}t||kƒt|dd}t||k    ƒt d¡}t||d}t|jj|jƒtt||j    ƒƒt|j
j|jƒt|ƒ}t|jj|jjkƒt|j
j|j
jkƒt||d}t|jj|jkƒt|j
j|jkƒt|dt kƒd|d<t|dt k    ƒt|j
j|jkƒtt|j dƒƒt||dd    }    t|    jj|jkƒt|    j
j|jkƒt|    dt kƒd|    d<t|    dt k    ƒt|    j
j|jkƒtt|    j dƒƒt|d
|d}
tt |
ƒj|d
jkƒtd ƒ} t | d<t| d ƒ} tt| | gƒ| ƒtt| ƒddddddddgƒt| d dd} t| ddddddddgƒt| ddd}t| |ƒ| jd dd}t| |ƒ|  dd¡}t| |ƒ|  ¡}t|j| jƒt|j
| j
ƒtdddgdddgd}t|ƒ}t|jjj    |jjj    ƒt|j
jj    |j
jj    ƒt|dd}t|jjj    |jjj    ƒt|j
jj    |j
jj    ƒdS)NrrT©rÝrÊr‘r¨rrÜr…rÁ)rø)r¨r¨r¨r¨©Úaxisr§)rFr
r}rr&r r²Z__array_interface__rrÐrÆrIr’r7r~rkr)r;rirÝrJÚctypesr)r›Únr    r Zm3r#Úy1Zy1aÚy2Zy2aZy3r$Zy4Zy5Zy6Zy7Zy8Zy9rœrr|r|rÚ    test_copy‹sv   
 ÿÿ 
 
 
 
 zTestMaskedArray.test_copycCs(tjjddd}| ¡}t|jdƒdS)Né+Tr‘)r}ràr&rÝr r’)r›rœZxcr|r|rÚ test_copy_0dÔszTestMaskedArray.test_copy_0dcCs2tttj dddg¡ƒƒtttj d¡ƒƒdS)Nrr¨r§)rr¨r§)r
rAr}ràrÝrär|r|rÚtest_copy_on_python_builtinsÚsz,TestMaskedArray.test_copy_on_python_builtinscCsFtj dddg¡}tj dddg¡}|j}|jt|ƒdddgƒdS)Nrr¨r§rÁrÊrÂ)r}ràr&rÝr )r›r­r®Z a_copy_methodr|r|rÚtest_copy_immutableßs
z#TestMaskedArray.test_copy_immutablecCsÄddlm}tdddgdddgd}||ƒ}t|j|jƒtt|jƒt|jƒƒd|d<t|jdddgƒt|jdddgƒ||ƒ}t|j|jƒd|jd<t|jdddgƒt|jdddgƒdS)Nr)Údeepcopyrr¨FTr‘)rÝr>r&r r’rÚidrÆ)r›r>r­Úcopiedr|r|rÚ test_deepcopyçs 
zTestMaskedArray.test_deepcopyc    Csptdddgdddgd}tt|ƒdƒtttƒdƒtttd    ƒdƒttƒttd
ƒ}W5QRXt|dƒdS) Nrrr¨FTr‘ú[0 -- 2]rÚz >5)r&r ÚformatrIrÚ FutureWarning)r›r­Zwith_format_stringr|r|rÚ test_formatøs
zTestMaskedArray.test_formatcCstdddgdddgd}tt|ƒdƒtt|ƒt d¡ƒtj d    ¡}tjj    |dd
…<tt|ƒt d ¡ƒtj d ¡}tt|ƒt d ¡ƒtdddgdddggtj
d}tjj    |d<tt|ƒt d¡ƒtt|dd…ƒt d¡ƒtt|  t ¡ƒt d¡ƒdS)Nrrr¨FTr‘rBz„            masked_array(data=[0, --, 2],
                         mask=[False,  True, False],
                   fill_value=999999)éÐé2z¶            masked_array(data=[0, --, --, ..., 1997, 1998, 1999],
                         mask=[False,  True,  True, ..., False, False, False],
                   fill_value=999999)ézÙ            masked_array(data=[ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13,
                               14, 15, 16, 17, 18, 19],
                         mask=False,
                   fill_value=999999)r§rÁrÊrÂrÉ©rrzë            masked_array(
              data=[[1, 2, 3],
                    [4, --, 6]],
              mask=[[False, False, False],
                    [False,  True, False]],
              fill_value=999999,
              dtype=int8)z«            masked_array(data=[[1, 2, 3]],
                         mask=[[False, False, False]],
                   fill_value=999999,
                        dtype=int8)zÑ            masked_array(
              data=[[1, 2, 3],
                    [4, --, 6]],
              mask=[[False, False, False],
                    [False,  True, False]],
              fill_value=999999)) r&r r±r!ÚtextwrapÚdedentr}ràrrIÚint8rºr»©r›r­r|r|rÚ test_str_reprs>þ     þ     þ
 þ þ
 þzTestMaskedArray.test_str_reprc    CsŠt ¡}tjddzbtdddgdddgd}tt|ƒd    ƒtt|ƒd
ƒtj d ¡}tjj    |dd …<tt|ƒd ƒW5tjf|ŽXdS)Nz1.13)Úlegacyrrr¨FTr‘rBzcmasked_array(data = [0 -- 2],
             mask = [False  True False],
       fill_value = 999999)
rGrHzmasked_array(data = [0 -- -- ..., 1997 1998 1999],
             mask = [False  True  True ..., False False False],
       fill_value = 999999)
)
r}Zget_printoptionsZset_printoptionsr&r r±r!ràrrI)r›Zoldoptsr­r|r|rÚtest_str_repr_legacyMs  þz$TestMaskedArray.test_str_repr_legacycCsHd}t|ƒ}tj |¡}tjj|dd}t||ƒ|ƒt||ƒdƒdS)NucaféTr‘r)r"r}ràr&r )r›ÚuZutypeZ
arr_nomaskZ
arr_maskedr|r|rÚtest_0d_unicodebs  zTestMaskedArray.test_0d_unicodec CsÔttttfD]Â}tdƒ |¡}d|_ddddddddddg
ddf}tdtj    dƒD]z}|D]p}||_
t  tj ||d¡}t |j|jƒt |j|jƒ|ttfkr®t |jdƒnt |j|dƒƒt|j
|ƒqZqRq dS)    NrÈéçrrTFr¨©Úprotocol)r»rÏr±rrrºrÚranger{ÚHIGHEST_PROTOCOLr’ÚloadsÚdumpsr rÆr²r )r›r~r­ÚmasksÚprotor’Ú    a_pickledr|r|rÚ test_picklingls"þ zTestMaskedArray.test_picklingcCsŽtjddgdtfdtfgd tj¡}t|ddgd}td    tj    d
ƒD]B}t 
tj ||d ¡}t |j |j ƒt ||ƒtt|jtjƒƒqFdS) N)r…r¨)rŒrÁrœrrÉ©TF©FTr‘r¨rrU)r}r&rÏr»ÚviewÚrecarrayrJrWr{rXrYrZr rÆr
Ú
isinstancer²)r›rœr­r\r]r|r|rÚtest_pickling_subbaseclass‚s
ÿÿ
z*TestMaskedArray.test_pickling_subbaseclasscCs`tjj}tdtjdƒD]B}t tj||d¡}t|j    |j    ƒt|j
|j
ƒt|j |j ƒqdS)Nr¨rrU) r}ràrIrWr{rXrYrZr Z
_baseclassrÆr²)r›Zmcr\Z
mc_pickledr|r|rÚtest_pickling_maskedconstants z,TestMaskedArray.test_pickling_maskedconstantcCshtddgddgdtfdtfgd}tdtjd    ƒD]0}t tj||d
¡}t|j    |j    ƒt||ƒq2dS) N©rr…©r¨r‡©rr©rrr­r®©r’r~r¨rrU)
r&r»rÏrWr{rXrYrZr rÆ)r›r­r\r]r|r|rÚtest_pickling_wstructured–sÿz)TestMaskedArray.test_pickling_wstructuredcCsLtdƒ}d|_|j}tdtjdƒD]"}t tj||d¡}t||ƒq$dS)NrÈ)rÖr¨r¨rrU)    rrlrrWr{rXrYrZr )r›r­r®r\rÑr|r|rÚtest_pickling_keepalignmentŸs z+TestMaskedArray.test_pickling_keepalignmentcCsZtdddgƒ}tdddgdddgd}t|djdƒt|djdƒt|djdƒdS)Nrr§r¨rr‘r|)r&r rlr¬r|r|rÚtest_single_element_subscript¨s
z-TestMaskedArray.test_single_element_subscriptc    s(tdttdƒƒƒtdttdƒƒƒtdttdgggƒƒƒtdttdggƒƒƒttttddgƒƒtƒ‚}| td¡t    t
  ttdgdgdƒ¡ƒtdddgdddgd‰tt‡fdd    „ƒttˆd
ƒd ƒt    t
  tˆdƒ¡ƒW5QRXtttˆƒttˆd
ƒdƒtt ‡fd d    „ƒdS) Nrr…z$Warning: converting a masked elementr‘r¨r§rcstˆƒSrµ)rÏr|©r­r|rr·½r¸z/TestMaskedArray.test_topython.<locals>.<lambda>rÖrŒcs tˆdƒS©Nr)r»r|rnr|rr·Âr¸) r r»r&rÏrrýrÚfilterrãr
r}Úisnanr)r›Úsupr|rnrÚ test_topython°s   zTestMaskedArray.test_topythoncCsVtdƒ}| dd¡}d|jd<t|ddkƒ|d|}t|j|ƒt|jd|ƒt|t|ƒjd||ƒd    |jd
<tdƒ}t|d <tt    |d ƒt    tƒkƒ|d k}tt
t |ttƒƒd kƒtt t |ttƒƒ|j kƒt ||ƒ}t|j|jkƒt|d tkƒt|dtk    ƒt|dtk    ƒt|d tkƒt|dtkƒt||ƒdS)NrIrÁrÊé ©rry$@rÈéer.r§rørr)r)rrjÚflatr
r ÚrealÚimagr*rIr±r-rxrlrUr~)r›rœr£Úcr|r|rÚtest_oddfeatures_1Äs. 
 
 
z"TestMaskedArray.test_oddfeatures_1cCs¬tdddddgƒ}tdddddgƒ}t|d<t||| ƒ}t|ddd    d
d gƒt|d<t||| ƒ}t|ddd    d
d gƒt|dtkƒt|dtk    ƒt|dtkƒdS) Nr…r‡rŒrˆr‰rrr¨rréûÿÿÿ)r&rIrxr r
©r›rœrzr£r|r|rÚtest_oddfeatures_2àsz"TestMaskedArray.test_oddfeatures_2cCs:tdgdd}tdgƒ}|j}||||<t|dgƒdS)NrÈTr‘rI)r&r’r )r›ÚatestÚbtestÚidxr|r|rÚtest_oddfeatures_3îs
 
 z"TestMaskedArray.test_oddfeatures_3cCs(tjjddd}t| d¡ddƒdS)NrÚOrÉrœr)r}ràr,r r7rNr|r|rÚtest_filled_with_object_dtype÷sz-TestMaskedArray.test_filled_with_object_dtypecCs|tdgdtfddtfgd}t|d<t| ¡tjtdƒtdƒtdƒfg|jdƒt|d<t| d    ¡tjd
g|jdƒdS) N©rrrÚi©r¾ú|S8ÚfrÉrr°rr)rÚ1r…)    r&r»rÏrIr r7r}r.r~)r›Zflexir|r|rÚtest_filled_with_flexible_dtypeûs ÿ
þþÿ
ÿz/TestMaskedArray.test_filled_with_flexible_dtypecCsrdtfdtfg}tddg|d}| ¡}tt|ƒdtdƒfƒ| d¡}tt|ƒd    ƒd
|_tt| ¡ƒd ƒdS) Nr­r®©rr‡rirjrr…©rÖrÖ)rrÖ©éüÿÿr)rr)r»rÏr^r7r Útupler.r)r›Úndtyper­rÑr|r|rÚtest_filled_with_mvoids
z&TestMaskedArray.test_filled_with_mvoidcCsâdtfddtfdtfgfg}tddgddg|d    }| d
¡}tjd d g|d }t||ƒ|d d
¡}tjddg|djd }t||ƒtj dt dg¡¡}t|j    jt dddgdfg¡ƒt|j
jt dddgdfg¡ƒdS)NrôÚBÚBAÚBB©rrJ©r¨r*©rru©rrirjr©rri)r¨©r¨rrÉrir›r¨)rôz(2,2)i1,(2,2)i1r*)rõÚi1r*)rörœr*r*)rõú?r*)rörr*) r»r&r7r}r r~ÚnumpyràryrÐr’)r›r‘r­rÑÚcontrolÚZr|r|rÚtest_filled_with_nested_dtypes,ÿ
 
 
ÿÿ
ÿÿz-TestMaskedArray.test_filled_with_nested_dtypecCsPttjddgddtjddgdddd}t|jdƒt| d    ¡jdƒdS)
N)rrr¨)rÁrÊrÂÚFr )rrr)rrr)r’r Z F_CONTIGUOUSr)r&r}r
rr7rNr|r|rÚtest_filled_with_f_order*s þz(TestMaskedArray.test_filled_with_f_ordercCsRtdddgtd}d|jd<| ¡}t|jddƒd|jd<t|jddƒdS)Nrr¨r§rÉú???Úinfoz!!!)r&rÏÚ_optinforÝr ©r›rœrr|r|rÚtest_optinfo_propagation2s 
 
z(TestMaskedArray.test_optinfo_propagationcCs¸tddddgƒ}d|jd<t|jd|dkjdƒt|jd|dkjdƒt|jd|dkjdƒt|jd|dkjdƒt|jd|dkjdƒt|jd|djdƒt|jd|djdƒt|jd|djdƒt|jd|djdƒt|jd|dd…jdƒt|jd|dddgjdƒt|jdt |¡jdƒt|jdt |¡jdƒt|jdt|ddjdƒt|jdt |¡jdƒdS)    Nrr¨rÁr0ÚkeyrTr2)r&r¦r r}r5rrzrNr|r|rÚ test_optinfo_forward_propagation;s"
 z0TestMaskedArray.test_optinfo_forward_propagationcCsšt dtfddtfdtfgfg¡}tddgddg|d    }d
}tt|ƒ|ƒtd d d d gd d d ggd fd dd dgd d dggd fdd}d}tt|ƒ|ƒdS)NrœrÚtr¾)r)r¨rŒ)rÁ)rÊç@ršr˜rjz[(--, (2, --)) (4, (--, 6.0))]rrFTúint, (2,3)float, float©rÐr’r~z)(0, [[--, 0.0, --], [0.0, 0.0, --]], 0.0))r}r~r»rÏr&r r±rJ)r›Z
fancydtyperÑrŸZt_2d0r|r|rÚtest_fancy_printoptionsNs*"þ ÿþ
ÿþúz'TestMaskedArray.test_fancy_printoptionscCs¼dtfdtfg}tjddg|d}t|ƒ}tjddgddggtd}t||ƒt|j|jƒtddgdd    g|d
}t|ƒ}tddgddggd d gd d ggtd
}t||ƒt|j|jƒt|j|jƒdtfdd tfdtfgfg}tddgddg|d
}t|ƒ}tdddgdddggd d d gd d d ggtd
}t||ƒt|j|jƒt|j|jƒdtfdtfg}tjdgdgg|d}t|ƒ}tjddggddgggtd}t||ƒt|j|jƒdS)Nr­r®rJr*rÉr…r‡rirurjrrÚbaÚbb)r)rçš™™™™™ñ?)r¨)r¨çš™™™™™@r˜ršr²r³)r»rÏr}r&r9r r~r’)r›r‘r­rÑrŸr|r|rÚtest_flatten_structured_arraybsD
ÿ
ÿÿ
 
z-TestMaskedArray.test_flatten_structured_arraycCsœdtfdtfg}tjdg|dd}t|ƒ}tt|tƒƒtdgdg|dd}tt|tƒƒtddgddg|d}t|jd|jdƒ}tt|tƒƒdS)    Nr­r®©rr¨rÉrrurjrh)    r»r}r&r^r
rcrJr²rÆ)r›r‘r­r‰r|r|rÚ test_void0d…szTestMaskedArray.test_void0dcCsdtfdtfg}tddgddg|d}|d}tt|tƒƒt|d|dfd    ƒt|dd
ƒ|d }tt|tƒƒt|dtkƒt|dtkƒt|d d ƒtdd gfgd dgfgdgd}t|dd|ddƒt|ddtdd gd dgddƒdS)Nr­r®rµrÅrhrurjrrJr¨rrÁTF)rôú>i2©r¨r®rôr·)r»rJr
rcr^r rI)r›r‘r­r‰rôr|r|rÚtest_mvoid_getitem“s,ÿ 
þÿz"TestMaskedArray.test_mvoid_getitemcCsVdtfdtfg}tddgddg|d}tt|dƒd    d
gƒtt|d    ƒtd gƒdS) Nr­r®rµrÅrhrurjrrr¨rÁ)r»rJr rËrI)r›r‘r­r|r|rÚtest_mvoid_iter¬s ÿzTestMaskedArray.test_mvoid_iterc    Cs¨tddgdtfdtfgd}tt|dƒdƒt|dd<tj}t d¡z(tt|dƒd    ƒtt|dƒd    ƒW5t |¡Xtd
d gd gd}tt|dƒd ƒdS)NrJr*r­r®rÉrz(1, 1)z-X-z(1, -X-)©rr¸)r­rƒz(1,))    r&r»r r±rIrSÚ_displayZ set_displayr!)r›ÚmxZ ini_displayr|r|rÚtest_mvoid_print¶s 
 z TestMaskedArray.test_mvoid_printcCstdddgfgdddgfgdddgfdgd}tt|d    ƒd
kƒtt|d    ƒd
kƒtddgdd ggfgddgddggfgd gd }tt|d    ƒdkƒtt|d    ƒdkƒtdgdgddgd }tt|d    ƒdkƒtt|d    ƒdkƒtddgdd ggdfgddgddggdfgd dtfgd }tt|d    ƒdkƒtt|d    ƒdkƒtdgdgddgd }tt|d    ƒdkƒtt|d    ƒdkƒdS)Nrr¨r§FTé?B)r­ú<i4r©)rÐr’rr~rz ([1, --, 3],)rÁ)r­rÀr*r®z([[1, --], [--, 4]],)rµr_)r­rÀ)r®rÀz(--, 2)r®z([[1, --], [--, 4]], 1.0)r–)Tr_)r®úi4,i4z (--, (--, 1)))rJr
r±r!rÏ)r›Zt_maZt_2dZt_0dZt_ner|r|rÚtest_mvoid_multidim_printÇs> 
ýþþ
þþz)TestMaskedArray.test_mvoid_multidim_printcCs¢tdgdgd}tddgƒ}t||gddgtd}t|d|kƒt|d|k    ƒtt |dj|jk¡ƒtt |dj¡ƒd    |djd<t|dd    kƒdS)
Nr…Tr‘r‡Frjrrr)rJrr
r}rrÐr’)r›Zmx1Zmx2r½r|r|rÚtest_object_with_arrayës z&TestMaskedArray.test_object_with_arrayN)>rêrërìr¦r¯r´r¿rÃrÄrÇrÒrÕrÙrßrårærórürþrr
rrrrr'r1Ú suppress_copy_mask_on_assignmentr9r;r<r=rArFrOrQrSr^rdrerkrlrmrsr{r~r‚r„r‹r’r¡r£r¨rªr¯r´r¶r¹rºr¾rÂrÃr|r|r|rr„Csx            
 2
HF
             
     #
$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!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9d:„Zd;d<„Z d=d>„Z!d?d@„Z"dAdB„Z#e$j% &dCdDdEg¡e$j% &dFdGdHg¡dIdJ„ƒƒZ'e$j% &dCdDdEg¡e$j% &dFdGdHg¡dKdL„ƒƒZ(e$j%j&dMe)e*dNe$j%j&dOe)e*dNe$j% &dFdGdPg¡dQdR„ƒƒƒZ+e$j%j&dMe)e*dNe$j%j&dOe)e*dNe$j% &dFdGdPg¡dSdT„ƒƒƒZ,e$j%j&dMe)e*dNe$j%j&dOe)e*dNe$j% &dFdGdPg¡e$j% &dUe-j.e-j/e-j0e-j1g¡dVdW„ƒƒƒƒZ2e$j% &dUe-j.e-j/e-j0e-j1g¡e$j% &dFdGdXg¡dYdZ„ƒƒZ3d[d\„Z4d]d^„Z5d_d`„Z6dadb„Z7dGS)cÚTestMaskedArrayArithmeticc Cst ddddtddddddddg ¡}t dd    ddd
d d    dddd    dg ¡}d}d d d d d d d d d d d d g }d d d d d d d d d d d d g }t||d}t||d}t dd    ddg¡}t|d d d d gd}    t |d|¡}
| d¡|||||||||    |
f
|_t ¡|_tj    ddddS)Nr…r†r‡rˆr‰rŠr‹rŒrrŽrrrr‘r“r”r•r–r©r0r)
r}r&r—rJrxr˜r™ÚgeterrÚ
err_statusÚseterrršr|r|rr¦ûs&"  
 
z&TestMaskedArrayArithmetic.setup_methodcCstjf|jŽdSrµ©r}rÉrÈrär|r|rÚteardown_method sz)TestMaskedArrayArithmetic.teardown_methodc
Cs@|j\
}}}}}}}}}    }
tddgddggƒ} t| ddgddggƒ} t| | | | ƒt| | | | ƒt| | | | ƒdD]º} | | ¡}| | ¡}| | ¡}| | ¡}|
 | ¡}
t| | ƒt||||ƒt||||ƒt||||ƒt||||ƒt||||ƒt||||ƒt||||ƒt||||ƒt||||ƒt||||ƒt||||ƒt||||ƒt|d|dƒtt|ƒdt|ƒdƒt||||ƒtt ||¡t||ƒƒtt ||¡t||ƒƒtt     ||¡t    ||ƒƒtt 
||¡t
||ƒƒq~dS)Nrr¨rrÁ))rtrÀ)r¨rÂç@) r™r&rJr rjrr}rrrr]r0)r›rœrržrŸr r¡r¢r£r¤r¥Za2dZa2dmr¾r|r|rÚtest_basic_arithmetics@
 
 
 
 
 
z/TestMaskedArrayArithmetic.test_basic_arithmeticcCstdtd}d|_tdtd}||}t|dddgdddggƒt|jd    d
d
gd    d
d
ggƒ||ddd…f}t|dddgdddggƒt|jd    d
d
gd    d
d
ggƒtd td}||dd…df}t|dddgd dd ggƒt|jd    d    d    gd
d
d
ggƒdS)NrÂrÉ©r¨r§r§rŽr…rˆrÌrrr¨rŒr‰)rrÏrlr r’©r›rœrr£r|r|rÚtest_divide_on_different_shapes2s   z9TestMaskedArrayArithmetic.test_divide_on_different_shapescCs>t dg¡}tdgƒ}tt||tƒƒtt||tƒƒdS©Nr)r}r&r
rcr)r›Únaràr|r|rÚtest_mixed_arithmeticDs 
z/TestMaskedArrayArithmetic.test_mixed_arithmeticcCsRt t¡j}t|d|dgƒ}tt|dƒdddgƒttd|ƒdddgƒdS)Nr…rr¨rr)r}ÚfinforÏÚtinyr&r r<)r›rÕr­r|r|rÚtest_limits_arithmeticKs z0TestMaskedArrayArithmetic.test_limits_arithmeticcCs\tddd}tdtdƒjƒtd|jƒt| jƒtt||ƒjƒtt||ƒjƒdS)Nrrr‘)r&r
r’rWrZ)r›r¡r|r|rÚ test_masked_singleton_arithmeticQs   z:TestMaskedArrayArithmetic.test_masked_singleton_arithmeticcCshtdddgdddgd}t|ddktkƒt|ddktkƒt|ddkdƒt|ddkdƒdS)    Nrr¨r§rr‘rÖFT)r&r
rIr rNr|r|rÚtest_masked_singleton_equality[s
z8TestMaskedArrayArithmetic.test_masked_singleton_equalitycCsttddgƒ}|t}t|j|jƒt|jddgƒ|dt}t|tkƒ|t}t|j|jƒt|jddgƒdS)Nrr¨Tr)rJrIr rlrÆr
r§r|r|rÚ%test_arithmetic_with_masked_singletoncs   z?TestMaskedArrayArithmetic.test_arithmetic_with_masked_singletoncCs2tdgƒ}|t}t|j|jƒt|jdgƒdS)NrT)rJrIr rlr’r§r|r|rÚ5test_arithmetic_with_masked_singleton_on_1d_singletonos
zOTestMaskedArrayArithmetic.test_arithmetic_with_masked_singleton_on_1d_singletoncCsNtddd}t| ¡jj|jjƒtdƒd}t|jdƒt|jddgƒdS)Nrr‘rhrr¸r)r&r r7r5rÐrlr’)r›rœr¡r|r|rÚtest_scalar_arithmeticvs
   z0TestMaskedArrayArithmetic.test_scalar_arithmeticc
CsN|j\
}}}}}}}}}    }
tt |¡t|ƒƒtt |¡t|ƒƒtt |¡t|ƒƒtt |¡t|ƒƒtt |¡t|ƒƒtt |¡t|ƒƒtt     t
|ƒ¡t    |ƒƒtt  t
|ƒ¡t |ƒƒtt  t
|ƒ¡t |ƒƒtt  |¡t |ƒƒtt |¡t|    ƒƒtt |¡t|    ƒƒtt |¡t|    ƒƒtt ||¡t||ƒƒtt |¡t|ƒƒtt |d|¡t|d|ƒƒttj|d|ddt|d|ddƒtt ||¡t||ƒƒtt ||¡t||ƒƒtt ||¡t||ƒƒtt ||¡t||ƒƒtt ||¡t||ƒƒtt ||¡t||ƒƒtt |¡t|ƒƒdS)Nùð?T)Údeg)r™r r}r+r,rmrnrurvrqrrDrEr5r#r r$r"rrr4r`rBr=rCr>r*ršr|r|rÚtest_basic_ufuncs~s2$,z+TestMaskedArrayArithmetic.test_basic_ufuncscCstdtdƒƒtdtddgdƒtddddgddddgd}t|ƒ}t|jjtjkƒtd|ƒ| d    ¡}t|ƒ}t|jjtjkƒtd|ƒt|dƒ}tt    |t
ƒƒtdd
g|ƒtt |ƒt kƒtddddgƒ}t|dƒ}tt    |t
ƒƒt|jjtjkƒt tj|jdd dS) Nrrr‘rr…r‡rŒr§r*r¨r3)r r-r&r
r~r"r}Zintprjrcrr;r_rÚ    AxisError)r›Zottròr|r|rÚtest_count_funcšs&
 
 
 
 
z)TestMaskedArrayArithmetic.test_count_funccCs&tdtdddgƒƒtdtdƒƒdS)Nr§rr¨rµ)r r-rär|r|rÚtest_count_on_python_builtins³sz7TestMaskedArrayArithmetic.test_count_on_python_builtinsc
CsL|j\
}}}}}}}}}    }
t |¡} t|ƒ} tt| ƒt | ¡ƒtt| ƒt | ¡ƒttdddgdddgƒdddgƒttdddgdddgƒdddgƒt    dƒ}t    dƒd}t
|d<t
|d<tt||ƒt t ||ƒ||ƒƒtt||ƒt t ||ƒ||ƒƒtt |¡dkƒtt |¡dkƒt    dƒ dd¡}t
|d<ttj|dd    dƒdS)
Nrr¨r§rÁrrrÊrr3)r™r}rhr rVrWrrYrZrrIrxrBr=r
rj) r›rœrržrŸr r¡r¢r£r¤r¥ZxrZxmrr|r|rÚtest_minmax_func¸s$
"" z*TestMaskedArrayArithmetic.test_minmax_funccCs¾t d¡}t||ƒ}tt|tƒƒt|t ||¡ƒt ||¡}tt|tƒƒt|tj ||¡ƒt||ƒ}tt|tƒƒt|t ||¡ƒt ||¡}tt|tƒƒt|tj ||¡ƒdS)Nr*)    r}rarZr
rcrr rcrW)r›r­ZaminimumZamaximumr|r|rÚtest_minimummaximum_funcÑs
 
 
 z2TestMaskedArrayArithmetic.test_minimummaximum_funccCs2tdddgdddgd}tj |¡}t|dƒdS)Nrr¨r§Fr‘)r&r}rWrr r¬r|r|rÚtest_minmax_reduceãs z,TestMaskedArrayArithmetic.test_minmax_reducec    CsÖtj d¡ ¡}ttj ddd¡|d}d|_dD]ž}tt|ƒ}ttj    j
|ƒ}tj dt d}z||d|d    }Wnt k
r‚YnXtj dtd}||d|d    }t||kƒ| d
¡||d|d    }t||kƒq2dS) NrtrrÈr‘rÅ©rYrV©rÁrÉ©r4Úoutr)r}rÍrÎÚroundr&ÚuniformrlÚgetattrržràÚcorer2r»rrÏr
Úfill)r›r’r¡ÚfuncnameÚnpfuncZmafuncÚnoutÚresultr|r|rÚtest_minmax_funcs_with_outputés"
 
z7TestMaskedArrayArithmetic.test_minmax_funcs_with_outputc
CsT|j\
}}}}}}}}}}|jf|_t| ¡dƒt|d ¡tkƒt|d d¡tkƒt|d d¡tkƒt| ¡dƒt|d ¡tkƒt|d d¡tkƒt|d d¡tkƒt| ¡dƒt|d ¡tkƒt|d d¡tkƒt|d d¡tkƒt    dddgd    d
}t| ¡tkƒt| ¡tkƒt| ¡tkƒdS) NrÈrrÖrŠç4@rr¨r§Tr‘)
r™r«rlr rVr
rIrYÚptpr&)r›Ú_r¡rœr|r|rÚtest_minmax_methodss$
z-TestMaskedArrayArithmetic.test_minmax_methodsc Cs@t ddddtddddddddg ¡}d}d}d    d
d
d
d
d
d    d
d
d
d
d
g }t||d }| d ¡tjtjtjtjtj    tj
tj g}|D]<}t t|||d   ¡||ƒƒt t|||d  ¡||ƒƒq„t | ¡|ƒt |  ¡|ƒ|dd…D]<}t t|||d   ¡||ƒƒt t|||d  ¡||ƒƒqê|dd…D]}tdddgd
d    d
g|d }t | ¡|dƒƒt |  ¡|dƒƒttjdtjdtj dgd
d    d
g|d }    t |     ¡|tj dƒƒt |      ¡|tjdƒƒtjdt tj¡j }
t|
d
gd
d    gd   ¡|
kst‚t|
d
gd
d    gd  ¡|
ks4t‚q4dS)Nr…r†r‡rˆr‰rŠr‹rŒrrr‘r–rjrÁéýÿÿÿy@Œµx¯Dð?y@Œµx¯DÀy@Œµx¯Dð¿y@y@rÜ)r}r&r—rJr˜ZhalfZsingleÚdoubleZ
longdoubleZcfloatZcdoubleZ clongdoubler rVrYr-rÔÚfloat64ÚAssertionError) r›rœržZan10rŸr¡Z float_dtypesZ float_dtyper¢r¤Zcmaxr|r|rÚtest_minmax_dtypessT& 
 ÿÿÿÿÿÿ&ÿ&z,TestMaskedArrayArithmetic.test_minmax_dtypesc
Cs¼|j\
}}}}}}}}}    }
ttj |¡t |¡ƒttj |¡t |¡ƒtdttdƒddƒtdttdƒddƒttj|ddt|ddƒttjt|dƒddt|ddƒtt |d¡t|dƒƒttj    |ddt    |ddƒtt     |d¡t    |dƒƒttj    t|dƒddt    |ddƒd} | |_
|_
|_
|_
t | ƒdkr¸tt  ||fd¡t ||fdƒƒttj |d¡t |d¡ƒtt |d¡t|dƒƒtt     |d¡t    |dƒƒdS)NrÁrr3rrÅ) r™r r}rrÚ
accumulatersr&r7rerlr¼r)r½r|r|rÚtest_addsumprod@s$"" z)TestMaskedArrayArithmetic.test_addsumprodcCsþtdgdgdggdgdgdggd}tddgddgd    d
ggƒ}||}tddgddgddggd d gd d gd d ggd}t||ƒt|j|jƒt|j|jƒ||}tddgddgd    d
ggd d gd d gd d ggd}t||ƒt|j|jƒt|j|jƒtdgdgdggƒ}tddgddgd    d
ggd d gd d gd d ggd}||}td dgddgddggd d gd d gd d ggd}t||ƒt|j|jƒt|j|jƒ||}td dgddgddggd d gd d gd d ggd}t||ƒt|j|jƒt|j|jƒdS)Nr…r‡rŒFTr‘rˆr‰r¬ç@rrr¨r§rørÈér)©r&r rÐr’©r›r­r®rÑrŸr|r|rÚtest_binops_d2DUsD$ÿ
ÿ
ÿÿ
ÿ
z)TestMaskedArrayArithmetic.test_binops_d2DcCsþtdgdgdggdgdgdggd}tddgddgd    d
ggƒ}||}td d gddgddggd d gddgddggd}t||ƒt|j|jƒt|j|jƒ||}tddgddgd    d
ggd d gddgddggd}t||ƒt|j|jƒt|j|jƒtdgdgdggƒ}tddgddgd    d
ggd d gd d gd dggd}||}td d gd dgd dggd d gd d gd dggd}t||ƒt|j|jƒt|j|jƒ||}tddgddgddggd d gd d gd dggd}t||ƒt|j|jƒt|j|jƒdS)Nr…r‡rŒFTr‘rˆr‰r¬rþr”gUUUUUUÕ?rrgš™™™™™Ù?r§rÌr)rrr|r|rÚtest_domained_binops_d2DysD$ÿ
ÿ
ÿÿ
ÿ
z2TestMaskedArrayArithmetic.test_domained_binops_d2DcCs†tdddgdddgdd}|d}t|jdddgƒ|d7}t|jdddgƒ|d}t|jdddgƒ|d}t|jdddgƒdS)Nr…r‡rŒF©r’Úshrinkrr©rJr r’r¬r|r|rÚtest_noshrinkingsÿz*TestMaskedArrayArithmetic.test_noshrinkingcCs(tj dg¡}tt |d¡jjdƒdS)NrrÊr|)r}ràr&r Ú true_divider’rl©r›r    r|r|rÚtest_ufunc_nomask®sz+TestMaskedArrayArithmetic.test_ufunc_nomaskcCs.tjjdddgddd}t|jdddgƒdS)Nr…rÌçÍÌÌÌÌÌ@çø?F©rr)r}ràrTr r’rNr|r|rÚtest_noshink_on_creation´sz2TestMaskedArrayArithmetic.test_noshink_on_creationc
Cs¢|j\
}}}}}}}}}    }
tt||ƒt||ƒƒt||ƒ} t| t ||¡ƒt| jt|j|jƒƒt||ƒ} t| t ||¡ƒt| jtt|j|jƒ|dkƒƒdSro)r™r r\r}r’rH) r›rœrržrŸr r¡r¢r£r¤r¥rÑr|r|rÚtest_mod¹s
 
z"TestMaskedArrayArithmetic.test_modcCstdƒ}t d¡}t|dd…<| ddd¡}| ddd¡}tt |d¡t|dƒƒtt |dd¡t|ddƒƒtt t|d    ƒt|d    ƒ¡t||ƒƒtt     t|d    ƒt|d    ƒ¡t    ||ƒƒt
d
dd ddgt ƒ}t|d<t|d    ddgƒ}t |d    d
kƒt |ddkƒt |ddkƒdS) NrÚrÊrÂr¨r§rÁ)r¨rrrrÚabcÚdef) rr}rIrjr rwrtr@r7rcr&rr
)r›rœrr«r|r|rÚtest_TakeTransposeInnerOuterÄs&
 ÿÿz6TestMaskedArrayArithmetic.test_TakeTransposeInnerOutercCsˆtddgddgd}t|jddgƒt|j ¡ddgƒt|jj|jjjƒt|jdd    gƒt|j ¡dd    gƒt|jj|jjjƒdS)
Nyð?$@y4@@rrr‘rÈr¨r–rI)r&r ryr7r~r²rx)r›rØr|r|rÚtest_imag_realØsz(TestMaskedArrayArithmetic.test_imag_realcCsÚttj ddd¡ƒ dd¡}t|dd…df<|d<|d<d}|D]}tt|ƒ}t||ƒ}tjdtd}|     d    ¡||d|d
}t
||kƒt ||d|d
ƒtdt d}|d|d
}t
||kƒt
|dtkƒqDdS) NrrÈrtr§rÁr)rsÚprodÚvarÚstdrVrYrôÚmeanrÉrÿrç© r&r}rÍrêrjrIrër2rÏrír
r r»)r›r¡ZfunclistrîrïÚxmmethÚoutputrñr|r|rÚtest_methods_with_outputâs 
 
 
    z2TestMaskedArrayArithmetic.test_methods_with_outputcCsødtfdtfg}tddgddg|d}||k}t|jddgƒt|jd    d    gƒt|jdkƒ||d
k}t|jdd    gƒt|jd    d    gƒt|jdkƒtddgd dg|d}||k}t|jd    dgƒt|jdd    gƒt|jdkƒ|d
|k}t|jd    d    gƒt|jdd    gƒt|jdkƒtddgdd g|d}||k}t|jddgƒt|jd    d    gƒt|jdkƒdtfdd tfd tfgfg}tddgddggddgddgg|d}|d|k}t|jdd    gd    d    ggƒt|jd    d    gd    dggƒt|jdkƒdS)Nrôr“rJr*rirhrjTFrrur”r•r–r—©r§©r§r§©rÁ©rÁrÁr˜r™©rrh©r»r&r rÐr’r
r©r›r‘r­rÑr®r|r|rÚtest_eq_on_structuredøsJ  ÿÿý z/TestMaskedArrayArithmetic.test_eq_on_structuredcCsødtfdtfg}tddgddg|d}||k}t|jddgƒt|jddgƒt|jd    kƒ||d
k}t|jdd    gƒt|jddgƒt|jd    kƒtddgd dg|d}||k}t|jd    dgƒt|jd    dgƒt|jd    kƒ|d
|k}t|jd    d    gƒt|jd    dgƒt|jd    kƒtddgdd g|d}||k}t|jddgƒt|jddgƒt|jd    kƒdtfdd tfd tfgfg}tddgddggddgddgg|d}|d|k}t|jdd    gd    d    ggƒt|jddgdd    ggƒt|jd    kƒdS)Nrôr“rJr*rirhrjFTrrur”r•r–r—rrr˜r™r r!r"r|r|rÚtest_ne_on_structured#sJ  ÿÿý z/TestMaskedArrayArithmetic.test_ne_on_structuredc        s¨t d¡}tdd|dtdd|dtdd|dtdd|dfD]b‰ˆ t¡}| d¡}tjd|d    td|d    tdd|dtd
d|dfD]‰ˆ t¡}| d¡}||k ¡}tˆˆk|ƒtˆˆk|ƒt|ˆk|ƒtˆ|k|ƒt||k|ƒ‡‡fd d „|jDƒ}tt|t    d     ¡|ƒ||k 
¡}tˆˆk|ƒtˆˆk|ƒt|ˆk|ƒtˆ|k|ƒt||k|ƒ‡‡fd d „|jDƒ}tt|t    d     
¡|ƒqŠq>dS)NrÁrµrhrjrirurJZ2i4rÉ©r§r¨csg|]}ˆ|ˆ|k‘qSr|r|©r€Úname©rŸr r|rr‚eszITestMaskedArrayArithmetic.test_eq_ne_structured_extra.<locals>.<listcomp>csg|]}ˆ|ˆ|k‘qSr|r|r&r(r|rr‚ms) r}r~r^rarr&rr rùrñr¹)    r›rÚma1Úr1Úma2Zr2Z eq_expectedZel_by_elZ ne_expectedr|r(rÚtest_eq_ne_structured_extraNs>
    ý
 
 
 
  ý
 
 
  z5TestMaskedArrayArithmetic.test_eq_ne_structured_extrarÚSÚUríNrôcCsNtddg|ddg|d}||k}t|jddgƒt|jddgƒt|jdkƒ||dk}t|jddgƒt|jddgƒt|jdkƒtddg|ddg|d}||k}t|jddgƒt|jddgƒt|jdkƒ|d|k}t|jddgƒt|jddgƒt|jdkƒ||dk}t|jddgƒt|jddgƒt|jdkƒdS)Nr­r®rr©r~r’rTF©r&r rÐr’r
r©r›rrír­rÑr®r|r|rÚtest_eq_for_stringsps,   z-TestMaskedArrayArithmetic.test_eq_for_stringscCsNtddg|ddg|d}||k}t|jddgƒt|jddgƒt|jdkƒ||dk}t|jddgƒt|jddgƒt|jdkƒtddg|ddg|d}||k}t|jddgƒt|jddgƒt|jdkƒ|d|k}t|jddgƒt|jddgƒt|jdkƒ||dk}t|jddgƒt|jddgƒt|jdkƒdS)Nr­r®rrr/FTr0r1r|r|rÚtest_ne_for_stringss,   z-TestMaskedArrayArithmetic.test_ne_for_stringsÚdt1©ÚidsÚdt2rcCsNtddg|ddg|d}||k}t|jddgƒt|jddgƒt|jdkƒ||dk}t|jddgƒt|jddgƒt|jdkƒtddg|ddg|d}||k}t|jddgƒt|jddgƒt|jdkƒ|d|k}t|jddgƒt|jddgƒt|jdkƒ||dk}t|jddgƒt|jddgƒt|jdkƒdS)Nrrr/TFr0©r›r4r7rír­rÑr®r|r|rÚtest_eq_for_numeric°s,   z-TestMaskedArrayArithmetic.test_eq_for_numericcCsNtddg|ddg|d}||k}t|jddgƒt|jddgƒt|jdkƒ||dk}t|jddgƒt|jddgƒt|jdkƒtddg|ddg|d}||k}t|jddgƒt|jddgƒt|jdkƒ|d|k}t|jddgƒt|jddgƒt|jdkƒ||dk}t|jddgƒt|jddgƒt|jdkƒdS©Nrrr/FTr0r8r|r|rÚtest_ne_for_numericÑs,   z-TestMaskedArrayArithmetic.test_ne_for_numericÚopcCs‚tddg|ddg|d}|||ƒ}t|j||j|jƒƒt|jddgƒt|jdkƒ|||dƒ}t|j||j|jdƒƒt|jddgƒt|jdkƒtddg|ddg|d}|||ƒ}t|j||j|jƒƒt|jddgƒt|jdkƒ||d|ƒ}t|j||jd|jƒƒt|jddgƒt|jdkƒ|||dƒ}t|j||j|jdƒƒt|jddgƒt|jdkƒdSr:)r&r rÐr²r’r
r)r›r<r4r7rír­rÑr®r|r|rÚtest_comparisons_for_numericòs,
 
z6TestMaskedArrayArithmetic.test_comparisons_for_numericzN/AcCsTtdddgdddg|d}tdddgdddg|d}t|||ƒj||j|jƒƒdS)Nr­r®Zcderr)r’r)rJr r²)r›r<rír)r+r|r|rÚtest_comparisons_stringssz2TestMaskedArrayArithmetic.test_comparisons_stringsc    Cstƒ}| td¡tddgddgd}t|dktddgddgdƒt|jdkddgƒt|dktddgddgdƒtddgdd}t|dkddgƒt|dkddgƒtddgdd}t|dktddgddƒt|dktddgddƒt}t|dktƒW5QRXdS)NzComparison to `None`rrr‘TFr¨)rrprEr&r rÐrI)r›rrr­r|r|rÚtest_eq_with_None s
 z+TestMaskedArrayArithmetic.test_eq_with_NonecCsˆtdƒ}t|dkdƒt|dkdƒt|dkdƒt|dkdƒtddd}t|dktƒt|dktƒt|dktƒt|dktƒdS)NrTrFr‘)r&r rIr¬r|r|rÚtest_eq_with_scalar9s z-TestMaskedArrayArithmetic.test_eq_with_scalarcCs€tddgddgd}tddgddggƒt ddgddgg¡fD]<}||k}t|jddgddggƒt|jddgddggƒq>dS)Nrrr‘r¨FT)r&r}r rÐr’)r›rŸr rÑr|r|rÚtest_eq_different_dimensionsEsÿ ÿ ÿz6TestMaskedArrayArithmetic.test_eq_different_dimensionscCs¼tdddddgdddddgd}ttjtjdt d¡dgdddddgd}t|ƒ}t||ƒt|j|jƒt|jdddddgƒt |¡}t||ƒt|j|jƒt|jdddddgƒdS©NrÖrrr¨r§r‘)rJr}rrDr r’)r›r­rŸrÑr|r|rÚtest_numpyarithmeticPs  ÿ
 
 
z.TestMaskedArrayArithmetic.test_numpyarithmetic)8rêrërìr¦rËrÍrÐrÓrÖr×rØrÙrÚrÛrÞràrárârãräròrörûrýrrrr
rrrrrr#r$r,ráÚmarkÚ parametrizer2r3Únum_dtsÚnum_idsr9r;ÚoperatorÚleÚltÚgeÚgtr=r>r?r@rArCr|r|r|rrÅøs~#
 *$$ 
++"  ÿÿ   rÅc@sLeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dS)ÚTestMaskedArrayAttributescCs¢tdddgdddgd}t|ƒ}t|j|jƒt|dddgdd}t|jdddgƒt|dddgdd}t|jdddgƒt|dddgd}t|jdddgƒdS)    Nrr¨r§rr‘F)r’Z    keep_maskTr©r›rœr½r|r|rÚ test_keepmaskcsz'TestMaskedArrayAttributes.test_keepmaskcCsFtdƒ}dddddg}t|ƒ}t||dd}t||ddd}dd    g|dd
g<dd    g|dd
g<t|jddd d d
gƒt|jddd d d    gƒt|jdddddgƒt|jƒt|j ƒdd dg|dd
…<dd dg|dd
…<t|jddd d d
gƒt|jddd dd    gƒt|jtƒt    |d<t    |d<t|jdddddgƒt|jdddddgƒd|dd…<d|dd…<t|jdddd d
gƒt|jdddddgƒt|jdddddgƒt|jtƒ| 
¡tdƒ|dd…<t|jddd d d
gƒt|jtƒ|  ¡t    ||d k<t|jddd d d
gƒt|j dddddgƒd|t |dkdƒ<t|jddd ddgƒt|j dddddgƒtdd gd d
ggddgddggdd}d|d<t|jddgd d
ggƒt|j ddgddggƒd|d<t|jddgd dggƒt|j ddgddggƒd |t |dkdƒ<t|jdd gd dggƒt|j ddgddggƒdS)NrÊrrT©r’Ú    hard_maskF©r’rQrÝrÈé(rÁr¨r§rIér)rrFr&r r²r’r
rr_rIÚ soften_maskÚ harden_maskrÆr7)r›r™r6r    ÚxhÚxsr|r|rÚ test_hardmaskps`
       &z'TestMaskedArrayAttributes.test_hardmaskcCs^tdƒ}dddddg}t|ƒ}t||dd}d|dd…<d|dd…<t|jdddd    dgƒdS)
NrÊrrTrPrTrÁr¨r§)rrFr&r r²©r›r™r6r    rWr|r|rÚtest_hardmask_again§s  z-TestMaskedArrayAttributes.test_hardmask_againcCs–tdddgdddgd}| ¡}t||ƒd|d<t||ƒt|tdddgdddgdƒ| ¡}d|d<t||ƒt|tdddgdddgdƒdS©Nrr¨r§rr‘)r&rVr rUr¬r|r|rÚtest_hardmask_oncemore_yay±s
 
 
z4TestMaskedArrayAttributes.test_hardmask_oncemore_yaycCsVtdƒ}t|d<d|d<t|jtƒtdƒ}d|_t|d<d|d<t|jtdƒƒdS)NrÈrF)rrIr rÆr_Z
_smallmaskryrNr|r|rÚtest_smallmask¿s z(TestMaskedArrayAttributes.test_smallmaskcCsttdddgdddgd}| ¡}t||ƒt|jtƒtj dgdtfdtfg¡}|     ¡}| ¡t|j|jƒdS)    Nrr¨r§rr‘rŒr­r®)
r&Z shrink_maskr r’r_r}ràr»rÏrÝr¬r|r|rÚtest_shrink_maskËs
 z*TestMaskedArrayAttributes.test_shrink_maskcCsTtdddgdddggdtfdtfd    gd
}t|dd <t|dd <t|d d<t|d<|j}t|d|dƒt|d|d ƒt|d|dƒt|dd…|dƒt|d|d ƒt|d|dƒt|d|dƒt|dd…|dƒt|d|dƒd}d}|D]<}t||||fƒ|d7}||jdkrd}|d7}qdS)N)rr²Úone)r¨r³Útwo)r§çffffff
@Úthr)rÁ皙™™™™@Zfou)rÊç@Zfiv)rÂgffffff@Úsixr­r®©rzrˆrÉrirurz)rr¨rrrhrr¨r§rÁrJrÊrµrÖ)r&r»rÏrIrwr rl)r›rœZxflatr†Újr¥r|r|rÚ    test_flatØs6
ÿþ   z#TestMaskedArrayAttributes.test_flatcsÆtjddd‰tj ˆ¡}t d¡|_t|ƒt|jt d¡ƒ‡fdd„}tt|ƒˆj    dtjj
d}t|jt d¡ƒtjddd‰tj ˆ¡}t d¡|_t|jt d¡ƒt|j tjj ƒdS)NrÁzf4,i4rÉÚf4cstj ˆ¡}t d¡|_dS)NÚf8)r}ràr&r~)r    rnr|rÚassigns z;TestMaskedArrayAttributes.test_assign_dtype.<locals>.assign)r~r") r}ryràr&r~r!r rrèrarrÆr_)r›r    rlr®r|rnrÚtest_assign_dtypeös   
  z+TestMaskedArrayAttributes.test_assign_dtypeN) rêrërìrOrYr[r]r^r_rirmr|r|r|rrMas 7
  rMc@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!d"„Zd#d$„Zd%S)&ÚTestFillingValuescCs‚tjjj}|dtƒ}t|dƒ|dtƒ}t|tdƒƒ|ddƒ}t|dƒ|ddƒ}t|tdƒƒtt|dtƒtt|dtƒdS)Nrú|S3ó0scamelot!r–Ústuff)    r}ràrìÚ_check_fill_valuer»r r.rrý)r›rrÚfvalr|r|rÚtest_check_on_scalars
 
 
 
 
 
 
z&TestFillingValues.test_check_on_scalarcCs‚tjjj}dtfdtfdg}|dddg|ƒ}tt|tƒƒt    | 
¡dddgƒ|d|ƒ}tt|tƒƒt    | 
¡t dƒt d    ƒt t d
ƒƒgƒtj d |d }|||ƒ}tt|tƒƒt    | 
¡dddgƒtj d d tfdtfdgd }|||ƒ}tt|tƒƒt    | 
¡dddgƒtjdtd}d|d<||tƒ}tt|tƒƒt    | 
¡dddgƒdtfg}|d|ƒ}tt|tƒƒt    | 
¡dƒdS)Nr­r®)rzrorçÍÌÌÜ)ŒgÁr¤ó???rrr°)rrur¤rÉrôr“)r ror»©rlr~)rrurvé6eÄ)rx)r}ràrìrrr»rÏr
rcrr Úitemr.r    r&r)r›rrr‘rsZfill_valr|r|rÚtest_check_on_fields#s<
 
 
þ
ÿ
 
 
 
z&TestFillingValues.test_check_on_fieldscCsêtdddgƒ}|j ddi¡t|td}t|jddd    gƒt|jtd
ƒƒt|td}t|jddd    gƒt|jtd ƒƒ|     t¡}t|jddd    gƒt|jtd
ƒƒt|jddƒ|     d g¡}t|d j|jƒt|d j|jƒdS)Nó3ó4ó5Úcommentzupdated!rÉr§rÁrÊrr)r­ror­)
r&r¦Úupdater»r r²rr.rÏrºr¬r|r|rÚtest_fillvalue_conversionRs  
 z+TestFillingValues.test_fillvalue_conversioncCs>tdƒ}tt d¡ƒ}tt d¡jƒ}t||ƒt||ƒdS)Nr…)r.r}r&r~r )r›röÚf2Zf3r|r|rÚtest_default_fill_valuejs
 
z)TestFillingValues.test_default_fill_valuecCshtdgdtfddtfgd}t|ƒ}t|jƒ}tjtdƒtdƒtdƒf|jd}t||ƒt||ƒdS)    Nr…r†r‡r‰rÉrr°r)r&r»rÏr.r~r}r )r›ÚfieldsrörÚexpectedr|r|rÚ"test_default_fill_value_structuredrsÿ
 
þþ
z4TestFillingValues.test_default_fill_value_structuredcCs:t dg¡}t|ƒ}t|dt t|dƒ|d¡ƒdS)N)ÚvZV7r†)r}r~r.r r&)r›rr‰r|r|rÚtest_default_fill_value_void~s z.TestFillingValues.test_default_fill_value_voidcCs
tdddgdd}|dddg}t|j|jƒdtfdg}td    d
td fg|d }d |_t|j ¡ddgƒt|djd ƒt|djdƒd|_t|j ¡dƒt|djdƒt|djdƒtdddgƒ}d |_tt     |j¡j
tƒt|jdƒt|jt d¡ƒdS)Nrr¨r§r©rrr‰©r¾ro)rr­)r¨r®r—rÉrTç8@s999r¾)rr¤)rrvrrvr ) rJr Ú _fill_valuerÏr&r—rryr}r'r~)r›rÐZseriesÚmtyperœr|r|rÚtest_fillvalueƒs$  z TestFillingValues.test_fillvaluec    Csrtdgdtfddtfgd}tƒF}| td¡|ddg}tt|jƒdƒ|dd…|dd    …kW5QRXdS)
Nr…r†r‡r‰rÉzNumpy has detected)r¿r–rrÖ)    r&r»rÏrrprEr rr)r›rƒrrZ    subfieldsr|r|rÚtest_subarray_fillvalue›sÿ  z)TestFillingValues.test_subarray_fillvaluecCs8tjjj}dtfddtfg}tjtdƒtdƒtdƒf|d}t|d|ƒ|ƒdtd    fg}tjtdƒfdtfgd     |¡}t|d|ƒ|ƒtjd
dtfgd     |¡}t|d|ƒ|ƒt 
d ¡}tjtdƒtdƒtdƒfd d     |¡}|d|ƒ}t||ƒtjd d d     |¡}t|d|ƒ|ƒt |ƒ}t|dj j dƒdS)Nr†r‡r‰rr°rrÉrõr*r r­zint, float, float)rrrrö)r}ràrìrrr»rÏr&r.r rºr~rJrrª)r›rrr‘rŸrÑÚMr|r|rÚtest_fillvalue_exotic_dtype¦sB
 
þý  ÿÿ
 
þýý
 
z-TestFillingValues.test_fillvalue_exotic_dtypecCsndD]d}t d|¡}tt d|d¡ƒ}tj ||¡t d|¡}tt d|d¡ƒ}tj ||¡qdS)N) ÚasÚfsZpsÚnsÚusÚmsr¾r    ÚhÚDÚWrÚYZNaTz<M8[ú]z<m8[)ržZ
datetime64r.r~r}Ztestingr Ú timedelta64)r›ZtimecoderŸrÑr|r|rÚ!test_fillvalue_datetime_timedeltaÅs  z3TestFillingValues.test_fillvalue_datetime_timedeltacCsŽtddgdtfddtfdtfgfgd}|j}t|j|jƒt|dt|dƒƒt|ddt|ddƒƒt|ddt|ddƒƒt|ƒ}t|j|jƒt|dt|dƒƒt|d    dt|ddƒƒt|d    d    t|ddƒƒt|d    t|dƒƒt|ƒ}t|j|jƒt|dt|dƒƒt|d    dt|ddƒƒt|d    d    t|ddƒƒt|d    t|dƒƒdS)
N)rrÎ)rÁ©rÊrÂrôr“r”r•rÉrr)r&r»rr r~r.r[rX©r›r­rÑr|r|rÚtest_extremum_fill_valueÔs(ÿz*TestFillingValues.test_extremum_fill_valuecCsŠtdddgfdtjdfgd}t|ƒ}t|j|jƒt|dt dt|dƒ¡ƒt|ƒ}t|j|jƒt|dt dt|dƒ¡ƒdS)Nr¨r§rÁr0rÉr)r&r}rMr[r r~ÚfullrXržr|r|rÚ!test_extremum_fill_value_subdtypeìsz3TestFillingValues.test_extremum_fill_value_subdtypecCsädtfdtfg}tttdddgdddgƒƒd    |d
}|d}| d ¡t|jt d ¡ƒtt|j    ƒd ƒd |j    d<tt|j    ƒdƒtttdddgdddgƒƒ|d}|d}| d ¡t|jt d ¡ƒtt|j    ƒd t
dƒfƒdS)Nr­r®rr¨r§rÁrÊrÂrŽ©rr~rÈ)rÈréöÿÿÿ)rÈr£rÉr) r»r&rËrÌr˜r r‹r}rrr.)r›r‘r­Zaar«Úttr|r|rÚ test_fillvalue_individual_fields÷s ÿ
 
"
z2TestFillingValues.test_fillvalue_individual_fieldscCs˜dtf}dtf}tddgddgtjft |g¡d}t|j||gd}|d|d<|d |dj¡|j    d}t
t  |d    ¡ƒt |d
t d ƒƒdS) Nr®r­©r…©r‡)F)r’rr~rÉr|rrÖr…)rÏr&r}rr~r2rlr˜rr‹r
rqr r.)r›r‘Zadtyper­r®r‰r|r|rÚ(test_fillvalue_implicit_structured_array
    s
ÿ 
z:TestFillingValues.test_fillvalue_implicit_structured_arraycCsjtddd}t|jdƒtddtd}t|jdƒtddtd}t|jdƒtddtd}t|jdƒdS)Nr§rŠrˆr¢r)r2r rrarÏryÚcomplexr?rNr|r|rÚtest_fillvalue_as_arguments    s    z-TestFillingValues.test_fillvalue_as_argumentscCsJtdd}t|jdƒtdtd}t|jdƒtdtd}t|jdƒdS)Nr©©rlrw)r2r rlrarÏryr©rNr|r|rÚtest_shape_argument%    s 
    z%TestFillingValues.test_shape_argumentcCsÐtdddgdtjd}| ¡}t|jdkƒ| t¡}t|jdkƒ|jtd}t|jdkƒ| tj¡}|jtjd}|jtdd}t|jdkƒ|jtdd}t|jdkƒ|jtjd}t|jd    kƒdS)
Nrr¨r§r¢)r"rˆ)r"rrÉr¿)    r&r}Úint64rar
rrrÚint32r§r|r|rÚtest_fillvalue_in_view1    s
  z(TestFillingValues.test_fillvalue_in_viewcCs8tddd}t|djtdƒƒt|djtdƒƒdS)Nr©z (2)3S,(2)3UrwrõsspamröÚeggs)r2r rr.rNr|r|rÚtest_fillvalue_bytes_or_str[    s z-TestFillingValues.test_fillvalue_bytes_or_strN)rêrërìrtrzr€r‚r…r‡rrŽrrœrŸr¡r¥r¨rªr¬r¯r±r|r|r|rrns$/     *rnc@sLeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dS)Ú
TestUfuncscCsrtdddtdgdddgdgddtdddtdgdddgdgddf|_t ¡|_tjddd    dS)
Nr…rrÖr¨rrÂr‘rrÆ)r&r—r™r}rÇrÈrÉrär|r|rr¦f    s
((ÿ
zTestUfuncs.setup_methodcCstjf|jŽdSrµrÊrär|r|rrËm    szTestUfuncs.teardown_methodc    Cs”dD]Š}ztt|ƒ}Wntk
r4tt|ƒ}YnXttjj|ƒ}|jd|j…}||Ž}||Ž}t    | 
d¡| 
d¡|ƒt |j |j |dqdS)N)*rqrDrEr5r*rmr+rur#r r$rnr,rvZarcsinhr!ZarctanhrÚfabsÚnegativeÚfloorÚceilZ logical_notrrrr]r0rZ floor_divideÚ    remainderÚfmodÚhypotr"r4r`rCr>rBr=Ú logical_andÚ
logical_orÚ logical_xorr)Úerr_msg) rëÚumathÚAttributeErrorÚ fromnumericržràrìr™Zninr r7rr’)r›r‰ZufZmfÚargsÚurÚmrr|r|rÚtest_testUfuncRegressionp    sz#TestUfuncs.test_testUfuncRegressioncCsl|jd}tt|dd ƒtt|ddƒtt|dd…dddƒtt|dddƒtt |¡t    ƒdS)Nrr3r§)
r™r
rror rsrerrr—rNr|r|rÚ test_reduceŽ    s 
zTestUfuncs.test_reducecCsštddƒ dd¡}t|dk|ƒ}t| ¡| ¡ƒt| ¡dƒt| d¡| d¡ƒt| d¡dddd    gƒt| d¡djƒt| d¡djƒdS)
Nré r§rÁrÊrrÂr)rø)rrjrUr rVrYr
r’)r›r­Úamaskr|r|rÚ test_minmax—    szTestUfuncs.test_minmaxcCs~tdddddgdddddgd}t |¡}tdddt d¡dgdddddgd}t||ƒt|j|jƒtt|jtƒ ƒdSrB)rJr}rqr r’r
rcr)r›r­rÑrŸr|r|rÚtest_ndarray_mask¢    s 
 ÿ
zTestUfuncs.test_ndarray_maskcsðtddgddgd‰tttjˆdƒtttjˆdƒG‡fdd„dƒ}|ƒ}t|ˆd    kƒtˆ|d
kƒGd d „d ƒ}|ƒ}tˆ |¡tkƒtt    t
  ˆ|¡d kƒƒtˆ  |¡tkƒt|ˆdkƒtˆ|d kƒtˆ|dkƒdS)Nr…r‡rrr‘rcs&eZdZ”jdZdd„Zdd„ZdS)z<TestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClassrcSsdS)NúMy mulr|©r›Úotherr|r|rÚ__mul__¶    szDTestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClass.__mul__cSsdS)NúMy rmulr|rËr|r|rÚ__rmul__¹    szETestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClass.__rmul__N)rêrërìÚ__array_priority__rÍrÏr|rnr|rÚMyClass³    s
rÑrÊrÎc@s,eZdZdZdd„Zdd„Zdd„ZeZdS)    z=TestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClass2édcSsdS)NÚMe2mulr|rËr|r|rrÍÄ    szETestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClass2.__mul__cSsdS)NÚMe2rmulr|rËr|r|rrÏÇ    szFTestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClass2.__rmul__cSsdS)NÚMe2rdivr|rËr|r|rÚ__rdiv__Ê    szFTestUfuncs.test_treatment_of_NotImplemented.<locals>.MyClass2.__rdiv__N)rêrërìrÐrÍrÏrÖÚ __rtruediv__r|r|r|rÚMyClass2Á    s
rØrÔrÓrÕ) rJrrýrHÚmulÚtruedivr
rÍÚNotImplementedrr]rcÚ __truediv__)r›rÑÚmerØZme_toor|rnrÚ test_treatment_of_NotImplemented¬    s    z+TestUfuncs.test_treatment_of_NotImplementedc    Csštjjdtjgddgd}t ¡nt d¡t|ƒt|dƒ|dkt    |ƒt
|ƒt |ƒt |ƒt |ƒt|ƒt|dƒt|dƒW5QRXdS)Nr”rrr‘Úerrorr¨)r}ràr&rÚwarningsÚcatch_warningsÚfilterwarningsr5rrqrDrur#r r!r0rr    r|r|rÚtest_no_masked_nan_warnings×    s
 
 
 
z&TestUfuncs.test_no_masked_nan_warningsN) rêrërìr¦rËrÄrÅrÈrÉrÞrãr|r|r|rr²c    s     
+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!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9d:„Zd;d<„Z d=S)>Ú TestMaskedArrayInPlaceArithmeticcCsštdƒ}tdƒ}tdƒ}t|d<|||f|_| t¡| t¡| t¡f|_tjdtjd|_dd„|jDƒ|_| tj    ¡| tj    ¡| tj    ¡f|_
dS)NrÈr¨Z
AllIntegerZAllFloatcSsg|]}t |¡j‘qSr|©r}r~r"©r€rõr|r|rr‚þ    szATestMaskedArrayInPlaceArithmetic.setup_method.<locals>.<listcomp>) rrIÚintdatarºrÏÚ    floatdatar}Ú    typecodesÚ
othertypesÚuint8Ú    uint8data©r›rœrr¡r|r|rr¦ö    s 
 
 
ýz-TestMaskedArrayInPlaceArithmetic.setup_methodcCs‚|j\}}}t|d<|d7}t||dƒ|d7}t||dƒ|j\}}}|jjj}|d7}t||jjjkƒt||dƒdS)Nr¨rr…)rçrIr rèrÐr5r
)r›rœrr¡rõZid1r|r|rÚtest_inplace_addition_scalar
s  
z=TestMaskedArrayInPlaceArithmetic.test_inplace_addition_scalarcCsl|j\}}}|j}tdtjd}t|d<||7}||7}t|||ƒt|||ƒt|jt||jƒƒdS©NrÈrÉrÖ)rçr’rr}Úint16rIr rH©r›rœrr¡r    r­r|r|rÚtest_inplace_addition_array
s z<TestMaskedArrayInPlaceArithmetic.test_inplace_addition_arraycCs<|j\}}}|d8}t||dƒ|d8}t||dƒdSrÑ)rçr rír|r|rÚtest_inplace_subtraction_scalar 
s
 z@TestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_scalarcCsj|j\}}}|j}tdtd}t|d<||8}||8}t|||ƒt|||ƒt|jt||jƒƒdSrï©rèr’rrÏrIr rHrñr|r|rÚtest_inplace_subtraction_array(
s  z?TestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_arraycCs<|j\}}}|d9}t||dƒ|d9}t||dƒdS)Nr‡r¨)rèr rír|r|rÚ"test_inplace_multiplication_scalar4
s
 zCTestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_scalarcCsj|j\}}}|j}tdtd}t|d<||9}||9}t|||ƒt|||ƒt|jt||jƒƒdSrïrôrñr|r|rÚ!test_inplace_multiplication_array<
s  zBTestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_arraycCsT|j\}}}tdƒd}tdƒd}t|d<|d}t||ƒ|d}t||ƒdS)NrÈr¨)rçrrIr rír|r|rÚ test_inplace_division_scalar_intH
s   
zATestMaskedArrayInPlaceArithmetic.test_inplace_division_scalar_intcCs@|j\}}}|d}t||dƒ|tdƒ}t|tdƒƒdS)Nr‡rÈ)rÈ)rèr rrarír|r|rÚ"test_inplace_division_scalar_floatS
s
  zCTestMaskedArrayInPlaceArithmetic.test_inplace_division_scalar_floatcCst|j\}}}|j}tdtd}t|d<||}||}t|||ƒt|||ƒt|jtt||jƒ|dkƒƒdS)NrÈrÉrÖrrôrñr|r|rÚ!test_inplace_division_array_float[
s  zBTestMaskedArrayInPlaceArithmetic.test_inplace_division_array_floatcCsDddddtddddddddg }dd    ddd
d d    dddd    dg }d d d d d d d d d d d d g }d d d d d d d d d d d d g }t||d}t||d}||}t|jd d d d d d d d d d d d g ƒt|jdddd
t ddddddddg ƒ| ¡}||}t|jd d d d d d d d d d d d g ƒt|jdddd
t ddddddddg ƒdS)Nr…r†r‡rˆr‰rŠr‹rŒrrŽrrrr‘)r—rJr rÆr²rÝ)r›rœrrŸr r¡r¢r£r|r|rÚtest_inplace_division_miscg
s"   $ ÿ$ ÿz;TestMaskedArrayInPlaceArithmetic.test_inplace_division_misccCs$tdddgdddgd}|d}t|jdddgƒt|jdddgƒ|d7}t|jdddgƒt|jdddgƒtdddgdddgd}|tdddgdddgd}t|jdddgƒt|jdddgƒtdddgdddgd}|tdddgdddgd7}t|jdddgƒt|jdddgƒdS)Nrr¨r§rr‘rÁrr×r|r|rÚtest_datafriendly_add{
sz6TestMaskedArrayInPlaceArithmetic.test_datafriendly_addcCs<tdddgdddgd}|d}t|jdddgƒt|jdddgƒtdddgdddgd}|d8}t|jdddgƒt|jdddgƒtdddgdddgd}|tdddgdddgd}t|jdddgƒt|jdddgƒtdddgdddgd}|tdddgdddgd8}t|jdddgƒt|jdddgƒdSr\rr×r|r|rÚtest_datafriendly_sub‘
s z6TestMaskedArrayInPlaceArithmetic.test_datafriendly_subcCs<tdddgdddgd}|d}t|jdddgƒt|jdddgƒtdddgdddgd}|d9}t|jdddgƒt|jdddgƒtdddgdddgd}|tddd    gdddgd}t|jdd
dgƒt|jdddgƒtdddgdddgd}|tddd    gdddgd9}t|jdd
dgƒt|jdddgƒdS) Nrr¨r§rr‘rÁrÈrIrTrSrr×r|r|rÚtest_datafriendly_mul¨
s z6TestMaskedArrayInPlaceArithmetic.test_datafriendly_mulcCs<tdddgdddgd}|d}t|jdddgƒt|jdddgƒtddd    gdddgd}|d}t|jdddgƒt|jdddgƒtddd    gdddgd}|td
d d gdddgd}t|jdd d    gƒt|jdddgƒtddd    gdddgd}|td
d d gdddgd}t|jdd d    gƒt|jdddgƒdS)Nrr¨r§rr‘r‡r”r…rŒr‹róg>@gš™™™™™¹?rr×r|r|rÚtest_datafriendly_div¿
s z6TestMaskedArrayInPlaceArithmetic.test_datafriendly_divcCsttdddgdddgd}|d}t|jdddgƒt|jdddgƒ|dC}t|jddd    gƒt|jdddgƒdS)
Nr…r‡rŒrrr‘rÌgÍ;fž @r§rr×r|r|rÚtest_datafriendly_powÖ
sz6TestMaskedArrayInPlaceArithmetic.test_datafriendly_powcCsÊtddgddggƒ}tddgddgd}||7}t|ddgddggƒ|jtk    rht|jddgddggƒtddgddggƒ}tddgddgd}||7}t|ddgddggƒt|jddgddggƒdS)Nrr§rr‘r¨rÁ©r&r r’r_r¬r|r|rÚtest_datafriendly_add_arraysâ
s
z=TestMaskedArrayInPlaceArithmetic.test_datafriendly_add_arrayscCsÊtddgddggƒ}tddgddgd}||8}t|ddgddggƒ|jtk    rht|jddgddggƒtddgddggƒ}tddgddgd}||8}t|ddgddggƒt|jddgddggƒdS)Nrr§rr‘r¨rr¬r|r|rÚtest_datafriendly_sub_arraysð
s
z=TestMaskedArrayInPlaceArithmetic.test_datafriendly_sub_arrayscCsÊtddgddggƒ}tddgddgd}||9}t|ddgddggƒ|jtk    rht|jddgddggƒtddgddggƒ}tddgddgd}||9}t|ddgddggƒt|jddgddggƒdS)Nrr§rr‘rr¬r|r|rÚtest_datafriendly_mul_arraysþ
s
z=TestMaskedArrayInPlaceArithmetic.test_datafriendly_mul_arraysc
sŒ|jD]€‰t ¡nt d¡‡fdd„|jDƒ\}}}t|d<|ˆdƒ7}t||ˆdƒƒ|ˆdƒ7}t||ˆdƒƒW5QRXqdS)Nrßc3s|]}| ˆ¡VqdSrµ©rºræ©r«r|rÚ    <genexpr> szUTestMaskedArrayInPlaceArithmetic.test_inplace_addition_scalar_type.<locals>.<genexpr>r¨r)rêràrárârìrIr rír|rrÚ!test_inplace_addition_scalar_type s
 
 
  zBTestMaskedArrayInPlaceArithmetic.test_inplace_addition_scalar_typec
s¢|jD]–‰t ¡„t d¡‡fdd„|jDƒ\}}}|j}tdˆd}t|d<||7}||7}t|||ƒt|||ƒt|jt    ||jƒƒW5QRXqdS)Nrßc3s|]}| ˆ¡VqdSrµrrærr|rr szTTestMaskedArrayInPlaceArithmetic.test_inplace_addition_array_type.<locals>.<genexpr>rÈrÉrÖ©
rêràrárârìr’rrIr rHrñr|rrÚ test_inplace_addition_array_type s
 
 
 zATestMaskedArrayInPlaceArithmetic.test_inplace_addition_array_typec
s„|jD]x‰t ¡ft d¡‡fdd„|jDƒ\}}}|ˆdƒ8}t||ˆdƒƒ|ˆdƒ8}t||ˆdƒƒW5QRXqdS)Nrßc3s|]}| ˆ¡VqdSrµrrærr|rr, szXTestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_scalar_type.<locals>.<genexpr>r©rêràrárârìr rír|rrÚ$test_inplace_subtraction_scalar_type' s
 
 
  zETestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_scalar_typec
s¢|jD]–‰t ¡„t d¡‡fdd„|jDƒ\}}}|j}tdˆd}t|d<||8}||8}t|||ƒt|||ƒt|jt    ||jƒƒW5QRXqdS)Nrßc3s|]}| ˆ¡VqdSrµrrærr|rr7 szWTestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_array_type.<locals>.<genexpr>rÈrÉrÖr    rñr|rrÚ#test_inplace_subtraction_array_type2 s
 
 
 zDTestMaskedArrayInPlaceArithmetic.test_inplace_subtraction_array_typec
s„|jD]x‰t ¡ft d¡‡fdd„|jDƒ\}}}|ˆdƒ9}t||ˆdƒƒ|ˆdƒ9}t||ˆdƒƒW5QRXqdS)Nrßc3s|]}| ˆ¡VqdSrµrrærr|rrF sz[TestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_scalar_type.<locals>.<genexpr>r¨r rír|rrÚ'test_inplace_multiplication_scalar_typeA s
 
 
  zHTestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_scalar_typec
s¢|jD]–‰t ¡„t d¡‡fdd„|jDƒ\}}}|j}tdˆd}t|d<||9}||9}t|||ƒt|||ƒt|jt    ||jƒƒW5QRXqdS)Nrßc3s|]}| ˆ¡VqdSrµrrærr|rrQ szZTestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_array_type.<locals>.<genexpr>rÈrÉrÖr    rñr|rrÚ&test_inplace_multiplication_array_typeL s
 
 
 zGTestMaskedArrayInPlaceArithmetic.test_inplace_multiplication_array_typec
sîdd„tjdDƒ}|jD]Ήt ¡¼t d¡‡fdd„|jDƒ\}}}tdˆdˆd    ƒ}tdˆdˆd    ƒ}t|d    <z0|ˆd    ƒ}|ˆd    ƒ}t    ||ƒt    ||ƒWn0t
k
rÜd
ˆ›d }ˆ|ksØt |ƒ‚YnXW5QRXqdS) NcSsh|]}t |¡j’qSr|rå©r€r«r|r|rÚ    <setcomp>^ sz[TestMaskedArrayInPlaceArithmetic.test_inplace_floor_division_scalar_type.<locals>.<setcomp>ÚComplexrßc3s|]}| ˆ¡VqdSrµrrærr|rrb sz[TestMaskedArrayInPlaceArithmetic.test_inplace_floor_division_scalar_type.<locals>.<genexpr>rÈrÉr¨úSupported type ú throwing TypeError) r}rérêràrárârìrrIr rýrú)r›Ú unsupportedrœrr¡Úmsgr|rrÚ'test_inplace_floor_division_scalar_type[ s 
 
 
 
 zHTestMaskedArrayInPlaceArithmetic.test_inplace_floor_division_scalar_typec
súdd„tjdDƒ}|jD]ډt ¡Èt d¡‡fdd„|jDƒ\}}}|j}tdˆd}t    |d    <zR||}||}t
|||ƒt
|||ƒt
|jt t ||jƒ|ˆd
ƒkƒƒWn0t k
rèd ˆ›d }ˆ|ksät |ƒ‚YnXW5QRXqdS) NcSsh|]}t |¡j’qSr|rårr|r|rrr szZTestMaskedArrayInPlaceArithmetic.test_inplace_floor_division_array_type.<locals>.<setcomp>rrßc3s|]}| ˆ¡VqdSrµrrærr|rrv szZTestMaskedArrayInPlaceArithmetic.test_inplace_floor_division_array_type.<locals>.<genexpr>rÈrÉrÖrrr)r}rérêràrárârìr’rrIr rHrýrú)r›rrœrr¡r    r­rr|rrÚ&test_inplace_floor_division_array_typeo s(
 
 
 þ zGTestMaskedArrayInPlaceArithmetic.test_inplace_floor_division_array_typec sh|jD]Z‰tƒH}| t¡‡fdd„|jDƒ\}}}tdˆdˆdƒ}tdˆdˆdƒ}t|d<z|ˆdƒ}t||ƒWn8tt    fk
r¼}zt
j t |ƒddW5d}~XYnXz|ˆdƒ}t||ƒWn:tt    fk
r}zt
j t |ƒddW5d}~XYnXt ˆtjƒr>tt|jƒddˆ›d    ƒntt|jƒd
dˆ›d    ƒW5QRXqdS) Nc3s|]}| ˆ¡VqdSrµrrærr|rr szUTestMaskedArrayInPlaceArithmetic.test_inplace_division_scalar_type.<locals>.<genexpr>rÈrÉr¨r©Ú
stacklevelúFailed on type=Ú.r)rêrÚrecordrãrìrrIr ÚDeprecationWarningrýràÚwarnr±Ú
issubclassr}Úintegerr¼rD)r›rrrœrr¡Úer|rrÚ!test_inplace_division_scalar_type‡ s( 
 
  $ $zBTestMaskedArrayInPlaceArithmetic.test_inplace_division_scalar_typec st|jD]f‰tƒT}| t¡‡fdd„|jDƒ\}}}|j}tdˆd}t|d<z||}t|||ƒWn8t    t
fk
r¦}zt j t |ƒddW5d}~XYnXz<||}t|||ƒt|jtt||jƒ|ˆdƒkƒƒWn:t    t
fk
r}zt j t |ƒddW5d}~XYnXtˆtjƒrJtt|jƒd    d
ˆ›d ƒntt|jƒdd
ˆ›d ƒW5QRXqdS) Nc3s|]}| ˆ¡VqdSrµrrærr|rr° szTTestMaskedArrayInPlaceArithmetic.test_inplace_division_array_type.<locals>.<genexpr>rÈrÉrÖrrrr¨rr)rêrrrãrìr’rrIr rrýràrr±rHr r}r!r¼rD)r›rrrœrr¡r    r­r"r|rrÚ test_inplace_division_array_type« s0 
 
  $þ$zATestMaskedArrayInPlaceArithmetic.test_inplace_division_array_typec
Cs²|jD]¦}t ¡”t d¡tdddgdddg|d}||dƒ}tdddgdddg|d}t|j|jƒt|j|jƒ||dƒC}t|j|jƒt|j|jƒW5QRXqdS)Nrßrr¨r§rrjrÁ)rêràrárâr&r rÐr’)r›r«rœrØZxx_rr|r|rÚtest_inplace_pow_typeÒ s
 
 
  z6TestMaskedArrayInPlaceArithmetic.test_inplace_pow_typeN)!rêrërìr¦rîròrórõrör÷rørùrúrûrürýrþrÿrrrrrr
r r rrrrr#r$r%r|r|r|rräó    s<         $'räc@sdeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zedd„ƒZdd „Zd!d"„Zd#d$„Zd%d&„Zej d'd(¡ej d)d*¡d+d,„ƒƒZd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Z d9d:„Z!d;d<„Z"d=d>„Z#d?d@„Z$dAdB„Z%dCdD„Z&dEdF„Z'dGdH„Z(dIdJ„Z)dKdL„Z*dMdN„Z+dOdP„Z,dQdR„Z-dSS)TÚTestMaskedArrayMethodsc &Cs˜t ddddddddd    d
d d d ddddddddddddddddddd d!d"d#d$g$¡}| d%d%¡}| d&d'd'd&¡}t d(d)d(d)d(d(d)d(d)d)d(d)d(d(d(d)d(d)d(d(d(d)d)d)d)d(d(d)d(d(d(d(d)d(d)d(g$¡}t||d*}t|| |j¡d*}t|| |j¡d*}t d)d)d(d)d(d(d)d)d)d)d(d)d(d(d)d)d(d)d(d(d(d)d)d)d)d(d(d)d)d(d(d(d)d(d)d)g$¡}t||d*}    t|| |j¡d*}
t|| |j¡d*} ||||||||    |
| f
|_dS©+NçÀ @ç®Gáz.@ç-²ï§!@ç!@çé&1¬ü?çƒÀÊ¡E¶@ç\Âõ(Ü @ç…ëQ¸@ç{®Gáº#@çP—nƒ@çh‘í|?õ!@ç!°rh‘í@çj¼t“@çJ +‡@çáz®Ga@ç!°rh‘í@çÁÊ¡E¶ó@ç-²ï§@ç)\Âõ(@çÃõ(\B#@ç +‡Ù@çu“V @çÛù~j¼ô@çÑ"Ûù~ê@ç¨ÆK7‰Á@ç
×£p=J#@ç®Gáz”@çòÒMbØ@ç}?5^ºÉ#@羟/Ý$@ç!°rh‘m@ç-²ï§#@çJ +‡@çªñÒMb@çƒÀÊ¡Å@ç-²ï§Æï?rÂr§r¨rr©rÐr’©r}r&rjrlr™© r›rœÚXÚXXr    r½ÚmXÚmXXr Úm2xÚm2XÚm2XXr|r|rr¦å sÒû û û z#TestMaskedArrayMethods.setup_methodc    CsFtdddgƒ}t| ¡|j ¡ƒt| ¡|j ¡ƒt| ¡|j ¡ƒt| ¡|j ¡ƒt| ddddd¡|j ddddd¡ƒt| dddg¡|j dddg¡ƒt|     ¡|j     ¡ƒt| 
¡|j 
¡ƒtddgddggƒ}t|  ¡|j  ¡ƒt|  ¡|j  ¡ƒt|  ddg¡|j  ddg¡ƒt| ¡|j ¡ƒdS)Nrr§r¨rrÁ)r&r r¹r²rÚargmaxÚargminr(ÚcompressZconjr*Údiagonalrsrtrw©r›r­r    r|r|rÚtest_generic_methods s($ z+TestMaskedArrayMethods.test_generic_methodscCsätj d¡}|tj d¡d}tt||ƒƒtj|d<tt||ƒ ƒtj|d<tt||ƒƒt|ƒ}t|d<tt||ddƒtt||dd ƒ|d9}d|d<tt|dddƒtt tj    ¡j
gtj    d}tt||ƒƒdS)    NrÈg:Œ0âŽyE>rrÖT)rKFrÉ) r}rÍrÎr
rr-rJrIZiinfoÚint_rYr¬r|r|rÚ test_allclose s  
 
z$TestMaskedArrayMethods.test_allclosecCsHtjddddggdd}t||dds*t‚t||t dd    ¡dsDt‚dS)
Nrr¨r§rÁzm8[ns]rÉr)Zatolr“)r}r&rrúr›rNr|r|rÚtest_allclose_timedelta/ sz.TestMaskedArrayMethods.test_allclose_timedeltacCsNt dddgdddgddd    gg¡}tjd
d d gd d d gd
d
d ggtjd }t||d }|dk}|dk}t| ¡ ƒt| ¡ƒt| d¡d d d
gƒt| d¡d d d
gƒt| d¡d d d
gƒt| d¡d
d
d
gƒt| ¡ ƒt| ¡ƒt| d¡d
d
d gƒt| d¡d d d gƒt| d¡d
d
d gƒt| d¡d
d
d gƒdS)Ng¤p=
×£À?g¤p=
×£Ð?gÍÌÌÌÌÌì?gìQ¸…ëÑ?g…ëQ¸Õ?g)\Âõ(ä?g×£p=
×Ó?g×£p=
×ë?gffffffæ?TFrÉr‘r”rr)r}r&Úbool_rJr
rr¹r )r›rœr    r½ZmxbigZmxsmallr|r|rÚ test_allany6 s2 þ þþ   z"TestMaskedArrayMethods.test_allanycCs¨tdtd}tdddgdd}t| ¡tkƒ|j|dt|ƒt|jdƒt|tk    ƒtdtd}t| ¡tkƒ|j|dt| ƒt|jdƒt|tk    ƒdS)    Nr|rÉrr¨r§Tr‘©rè)r2rñr&r
rrIrÆr¹)r›Ústorer r|r|rÚtest_allany_odditiesP s      
 z+TestMaskedArrayMethods.test_allany_odditiesc
Csn|j\
}}}}}}}}}    }
t| ¡dƒt| ¡dƒt| ¡dƒt|     ¡dƒt| ¡dƒt| ¡dƒt| ¡dƒt|     ¡dƒt| d¡ddddddgƒt|     d¡ddddddgƒt| d¡ddddddgƒt|     d¡ddddddgƒt| d¡ddddddgƒt|     d¡dddddd    gƒt| d¡ddddddgƒt|     d¡ddddddgƒdS)
Né#rÁéérr¨rÊrr§)r™r rWrV) r›rœrOrPr    r½rQrRrSrTrUr|r|rÚtest_argmax_argminb s"z)TestMaskedArrayMethods.test_argmax_argminc&Csøt ddddddddd    d
d d d ddddddddddddddddddd d!d"d#d$g$¡}t d%d&d%d&d%d%d&d%d&d&d%d&d%d%d%d&d%d&d%d%d%d&d&d&d&d%d%d&d%d%d%d%d&d%d&d%g$¡}t||d'}| d(d)¡}t|j|jƒt|j| d(d)¡ƒt|j|j d(d)¡ƒdS)*Nr(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrrr‘r¨rø)r}r&Úclipr r’r²)r›rœr    r½Zclippedr|r|rÚ    test_clipy s~ûþ  z TestMaskedArrayMethods.test_clipcCsJt d¡}tjj|ddgdd}|jdd|dt|jddgdƒdS)NrÈrrrÊr‘ra)r}rràrrhr r’rZr|r|rÚ test_clip_outŠ s
z$TestMaskedArrayMethods.test_clip_outcCs–tdddddgdd}|dk|d    k@}t| |¡ddgƒt|d
d g<| |¡}t|jddgƒt|jd d gƒt|jdƒt|||ƒ|dk}| |¡}t|jdddgƒt|jd d d gƒt|jdƒt|||ƒtdddgdddggd d d gd d d ggd}| | ¡dk¡}t|jddddgƒt|jd d d d gƒt     d d d
g¡}|j|d
kd d}t|jddgddggƒt|jd d gd d ggƒdS)Nr…r‡rŒrˆr‰i'rˆr ç @r¨r§rrrÈrIrTrSrHr(r‘ér3)
rJr rXrIr²rÆrrhr}r&)r›r­Ú    conditionr®rœr|r|rÚ test_compress‘ s2 
 
 ÿz$TestMaskedArrayMethods.test_compresscCsRtddddgddddgd}| ¡}t||ƒt|d<| ¡}t|dddgƒdS)Nrr¨r§rÁrr‘)r&Ú
compressedr rIr¬r|r|rÚtest_compressed° s 
z&TestMaskedArrayMethods.test_compressedcCsädtfdtfdg}tdddg|d}tt|j ¡ƒt|ƒƒt|ƒ}t|j|jƒt|j|jƒt    t|ƒ|d}t|j|jƒt|j|jƒtdd    d
gd d d gd }t|ƒ}t
t   |j |j ¡ ƒ| t¡}t
t   |j |j ¡ƒdS©Nr­r®rg)rr²z1.1)r¨r³z2.2)r§rbz3.3rÉrr¨r§FTr‘)r»rÏrJr r¼rryr3rlr2r
r}rÞr’ra©r›Údatatyper­r®r|r|rÚ
test_empty¹ s 
ÿ
z!TestMaskedArrayMethods.test_emptycCsâdtfdtfdg}tdddg|d}tt|j ¡ƒt|ƒƒtt|ƒ|d}t|j|jƒt|j|jƒt    |ƒ}t|j|jƒt|j|jƒtdd    d
gd d d gd }t    |ƒ}t
t   |j |j ¡ ƒ| ¡}t
t   |j |j ¡ƒdSrq)r»rÏrJr r¼rryryrlrzr
r}rÞr’rarrr|r|rÚ
test_zerosÏ s 
ÿz!TestMaskedArrayMethods.test_zeroscCsâdtfdtfdg}tdddg|d}tt|j ¡ƒt|ƒƒtt|ƒ|d}t|j|jƒt|j|jƒt    |ƒ}t|j|jƒt|j|jƒtdd    d
gd d d gd }t    |ƒ}t
t   |j |j ¡ ƒ| ¡}t
t   |j |j ¡ƒdSrq)r»rÏrJr r¼rryrarlrbr
r}rÞr’rarrr|r|rÚ    test_oneså s 
ÿz TestMaskedArrayMethods.test_onesc CsFtdƒ}dddddg}t|ƒ}t||d}t|dtkƒt|dtkƒddg|ddg<t|dtkƒt|dtk    ƒt|ddd    d
dgƒttdƒdddddgd    d}dd    dd g}| |d dd    dg¡t|td dddd    ddd d dg
ƒƒt|j    ddddddddddg
ƒ| |tdd    dd gddddgƒ¡t
|ddd    dddd d d dg
ƒt|j    ddddddddddg
ƒttdƒdddddgd    d}t||d dd    dgƒt|td dddd    ddd d dg
ƒƒt|j    ddddddddddg
ƒt||tdd    dd gddddgƒƒt
|ddd    dddd d d dg
ƒt|j    ddddddddddg
ƒdS)NrÊrrr‘r§rÁrÈrSr¨rÖrÂr)rør) rrFr&r
rIr rJrfr'r’r )r›r™r6r    rœr†r|r|rÚtest_putû s2  " " " "zTestMaskedArrayMethods.test_putcCsštdƒ}tddgddgd}| ddg|¡t|d    tk    ƒt|d    d    ƒt|dtk    ƒt|dd
ƒt|dtkƒt|d
tk    ƒt|d
d    ƒdS) NrÈrŒrŽFTr‘rr¨rr§)ryr&rfr
rIr )r›rœr£r|r|rÚtest_put_nomask sz&TestMaskedArrayMethods.test_put_nomaskcCsltdƒ}dddddg}t|ƒ}t|d|ddd}| dddddgdddddg¡t|jdddddgƒdS)    NrÊrrTrRrÁr¨r§)rrFr&rfr r²rZr|r|rÚtest_put_hardmask( s  z(TestMaskedArrayMethods.test_put_hardmaskcCs„tdƒd}t|ddddddgd}ddddddg}| ¡}t||dƒt|ddddddgƒ| ¡}t||dƒt|jddddddgƒt|jddddddgƒtd    d
d d d dgddddddgd}| ¡}t|||ƒt|jddd dddgƒt|jddddddgƒ| ¡}t|||ƒt|jddd dddgƒt|jddddddgƒ| ¡}| ¡t|||ƒt|ddd dddgƒdS)NrÂrrr‘rr¨rÁrÊrÈrIrTrSrHr()rr&rÝrgr r²rÆrV)r›rœr½r’rØZmxxÚvaluesr|r|rÚ test_putmask1 s.   $   z#TestMaskedArrayMethods.test_putmaskcCstdddddggdddddggd}| ¡}t|jj|jƒtddgddgd}| ¡}t|jj|jƒtddddgddddgdd    }t| ¡jddddgƒd
|_d |_| ¡}t|jddddgƒt|jddddgƒt|jd
ƒt|jd d ddddgƒt|jdd ddddgƒdS)Nrr¨r§rÁrÊrr‘Fréÿÿÿr*r r r¢)r&rhr rÆrlrr²)r›r­ZaravelÚarr|r|rÚ
test_ravelO s $ z!TestMaskedArrayMethods.test_ravelr ZAKCFÚ
data_orderZCFcCsžtjd|d}d|ddd…f<tjdt|dj}d|ddd…f<t||d}|jjj|jjjksdt    ‚| 
d¡dk  ¡szt    ‚|  |¡}| 
d¡dk  ¡sšt    ‚dS)N)rÊrÈr r)rÈrÊ)r~r Fr‘) r}rarñrr&r²rZfncrÆrúr7rrh)r›r rÚarrr’rœZraveledr|r|rÚtest_ravel_ordere s 
z'TestMaskedArrayMethods.test_ravel_ordercCsTtdƒ}t|d<| dd¡}t|jdƒt|jjdƒt|jdƒt|jjdƒdS)NrÁrr¨r*ræ)rrIrjr rlrÆr§r|r|rÚ test_reshapeu s   z#TestMaskedArrayMethods.test_reshapecCsþtddddgddddgtjd}t|ƒ}t|jddddgƒt|jddddgƒt|dd}t|jddddgƒt|jddddgƒ| ¡t|jddddgƒt|jddddgƒtddddgddddgtjd}|jddt|jddddgƒt|jddddgƒddddg}t|ƒ}ttt    t
ƒ ƒtddd    d
dgt tj d}t|dd}t|jd
d    dddgƒtddd    d
dgdddddgtj d}t|dd}t|jddd
d    dgƒt|jdddddgƒtdd    gtj d }t|d d }t|td    dgtj d ƒdS)NrrÁr¨r§rrjFrrÖéþÿÿÿrÉÚstable©Úkind) r&r}rërpr r²rÆr
rcÚsortedrr_rM)r›rœÚsortedxr|r|rÚ    test_sort s6      $  z TestMaskedArrayMethods.test_sortcCsHtddddddgtjd}tddddddgƒ}t|dd    }t||ƒdS)
Nrr¨r§rÉrrÁrÊr„r…)r&r}rër%r )r›rœr„Zcomputedr|r|rÚtest_stable_sort¤ s z'TestMaskedArrayMethods.test_stable_sortc    Cs–tddddgddddgtjd}tƒtddtd    dtdd
tddd tdd    d fD]<}t|f|Ž}|t|f|Ž}t|j|jƒt|j|jƒqTdS) NrrÁr¨r§rrjTrFrˆ)rr)    r&r}rëÚdictrpr%r r²rÆ)r›rœÚkwargsrˆZ
argsortedxr|r|rÚtest_argsort_matches_sortª s 
 
û z0TestMaskedArrayMethods.test_argsort_matches_sortc    Csdtdddgdddggƒ}| d¡t|dddgdddggƒtdddgdddggƒ}| d¡t|dddgdddggƒtdddgdddggdddgdddggd}| d¡t|dddgdddggƒt|jdddgdddggƒtdddgdddggdddgdddggd}| d¡t|dddgdddggƒt|jdddgdddggƒtdddgdd    d
gddd ggddd gdddgdd    d
ggdddgddd gdd    d
ggdd    d
gddd gdddgggƒ}t||ddk<| ¡}| d ¡}| d¡| d¡t||ƒ| ¡}| d ¡}| d¡| d¡t||ƒ| ¡}| d ¡}| d¡| d¡t||ƒdS) NrørÁrr¨rrr‘r)rÊrÂr§r)rJrpr rÆrIrÝr7)r›r­ÚamZanr|r|rÚ test_sort_2d¸ sF
 
,
,
ý
 
 
 
 
 
 
 
 
 
 
z#TestMaskedArrayMethods.test_sort_2dc    Cstdddddddgdd    dddddgd
tfd tfgd }tdddddddgdddddd    dgd
tfd tfgd }tdddddddgdddddd    dgd
tfd tfgd }t|ƒ}t||ƒt|j|jƒt|d d}t||ƒt|j|jƒt dtdfg¡}| |¡}t|ƒ}t|d d}dS)Nrr%r*)r¨rrurJrµrhrirôr“r®Frr†r¨)r&r»rpr r’r}r~ra)r›r­Z    mask_lastZ
mask_firstrÑrr|r|rÚtest_sort_flexibleà s2ýýý
 
 
z)TestMaskedArrayMethods.test_sort_flexiblecCs8tdddddgdddddgd}tt |¡t|ƒƒdS)NrrÊr¨rÁr§rr‘)r&r r}r%rNr|r|rÚ test_argsorts z#TestMaskedArrayMethods.test_argsortcCsîtdddggƒ}t| ¡dddgƒtdddggdddggd}t| ¡dddgƒt| ¡jdddgƒt dgg¡}| ¡}t|dƒd|d<t|ddƒtdggdd}| ¡}t|tjjk    ƒt|j    dƒd|d<t|ddƒdS)Nrr¨r§r‘.rhT)
rJr ÚsqueezerÆr}r&r
ràrIr’)r›rÐr€Zarr_sqÚm_arrZm_arr_sqr|r|rÚ test_squeezes 
 z#TestMaskedArrayMethods.test_squeezec&Cs
t ddddddddd    d
d d d ddddddddddddddddddd d!d"d#d$g$¡}t d%d&d%d&d%d%d&d%d&d&d%d&d%d%d%d&d%d&d%d%d%d&d&d&d&d%d%d&d%d%d%d%d&d%d&d%g$¡}t||d' d(d(¡}| d)d*d*d)¡}| d%d&¡}t|d+|dd…d+fƒ| d%d*¡}t|jd,ƒdS)-Nr(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrrr‘rÂr§r¨rÖ)r¨r¨r§r§)r}r&rjÚswapaxesr rl)r›rœr    rQrRZ    mXswappedZ
mXXswappedr|r|rÚ test_swapaxessŒûû  z$TestMaskedArrayMethods.test_swapaxescCsftddddgddddgƒ}t| dddg¡tdddgdddgƒƒt| dddg¡|dddgƒt| ddgddgg¡tddgddggddgddggƒƒt|dtjjkƒt| d¡tjjkƒtdddgddd    ggdddgdddggd
}t|jdd gdd tddgdd    ggddgddggd
ƒtt|dd gdd tddgdd    ggddgddggd
ƒdS) NrÈrIrTrSrrr§rHr(r‘r¨r3)rJr rtr
r}ràrIr&r³r|r|rÚ    test_take3s(  ÿ,"ÿ"ÿz TestMaskedArrayMethods.test_takecCs>t d¡}t d¡ddd…ft d¡dd…df}t||t|ƒkd}t||dd}tddd    gdd    d
gd    d
d gd
d d gd d d ggƒ}t||ƒt||ƒ}tddd    gdd    d
gd    d
d gd
d dgd ddggƒ}t|d <|d <|d<t||ƒt|j|jƒtddd}t||ƒ}t|d<|d<t||ƒt|j|jƒdS)N)rSrÿé%rrlr§rÊr‘rh©ÚmoderSrÿr˜rrlr%)rÁr©rÁr¨)rrrrrriru)r}r&rr¼rtr rIr’)r›r­ÚindicesZmindicesrÑÚctrlr|r|rÚtest_take_masked_indicesEs4
,
ü
 
 
ü
 
 
z/TestMaskedArrayMethods.test_take_masked_indicescCsttt d¡ƒ}t|ddg<| ¡}t|ddkƒt|ddkƒd|_| ¡}ddddgdd    d
d gd d ddgg}t|dddddgƒt|ddd    d
d gƒt|dd d ddgƒt||ƒttt    dddgdddgdddgƒƒdt
fdt fdgd}t|d<t| ¡dddgƒtddgddgdt
fdt
fgd }| ¡}t|ddgddggƒ|d}| ¡}t|ddgƒdS)!NrtrrƒrÅrr¨r§rÁrÊrÂr)røré r²r³rbr`rarcr­r®rgrÉrÖ)rr²sone)r¨r³ótwo)NNNrµrirhrj) r&r}rrIÚtolistr
rlr rËrÌr»rÏ)r›rœZxlistrr­rÑr|r|rÚ test_tolistcsB "
þýþÿÿz"TestMaskedArrayMethods.test_tolistcCs~tddgdtfdtfgd}|D]$}| ¡D]}tt|tjƒ ƒq,q d|jd<|D]$}| ¡D]}tt|tjƒ ƒq`qTdS)NrirÎr­r®rÉr)r&r»r¡r
rcr}Zgenericr’)r›r­Úentryryr|r|rÚtest_tolist_specialcase‡s 
 z.TestMaskedArrayMethods.test_tolist_specialcasecCsXtdƒ}| ¡}t|d|jƒt|d|jƒt|ddddg<| ¡}t|d|jƒt|d|jƒdtfd    d
tfg}td d „t    t
 d¡d t
j   d¡ƒDƒ|d}t|ddddg<| ¡}t|d|jƒt|d|jƒt
  d¡}tdd „t    t
 d¡t
j   d¡t
j   d¡ƒDƒ|d}t|ddddg<| ¡}t|d|jƒt|d|jƒdS)NrÈr²rÆrrr¨rÖr†r‰r‰cSsg|]\}}}|||f‘qSr|r|)r€r†r¾r‰r|r|rr‚¢sz6TestMaskedArrayMethods.test_toflex.<locals>.<listcomp>Z ABCDEFGHIJKLMrÉr­cSsg|]\}}}|||f‘qSr|r|)r€r†r‰Úffr|r|rr‚¬s)rÚtoflexr r²rÆrIr»rÏr&rÌr}rÍrÎr~r)r›rÐrr‘r|r|rÚ test_toflex•s<
þý
 
 
þýz"TestMaskedArrayMethods.test_toflexcCs¼tdddgƒ}t| ¡ƒ}t||ƒt|j|jƒtdddgdddgd}t| ¡ƒ}t||ƒt|j|jƒtdddgd    d
d gd tfd tfgd}t| ¡ƒ}t||ƒt|j|jƒdS)Nrr¨r§rr‘rfrg)r§rŒrurhrirôr“rj)r&r:r¦r r’r»rÏrÐržr|r|rÚ test_fromflexµs 
 
ÿ 
z$TestMaskedArrayMethods.test_fromflexcCs„tdddddggdddddgd}tdgdgdgdgdggdddddgd}t|j|ƒt| ¡|ƒtt |jd¡| d¡ƒdS)Nrr¨r§rÁrÊrr‘)rJr rrwrÚcumsum)r›ZmarrayrŸr|r|rÚtest_arraymethodÇs" ÿ z'TestMaskedArrayMethods.test_arraymethodcCs4tjjddd}t|jj|jƒt|jj|jƒdS)Né*Tr‘)r}ràr&r rr’rÐr³r|r|rÚtest_arraymethod_0dÑsz*TestMaskedArrayMethods.test_arraymethod_0dcCsftj dddgdddgg¡}tjj|d<|j}d|d    <tjj|d<t|j|jjƒt|j|jjƒdS)
Nrr¨r§rÁrÊrÂrirÈru)r}ràr&rIrr rÐr’)r›rœZxtr|r|rÚtest_transpose_view×s  z*TestMaskedArrayMethods.test_transpose_viewcCs`tj d¡}d|d<tjj|d<d|d<| ¡}d|d<t|j| ¡jƒt|j| ¡jƒdS)NrrÈrhrJrIr*rÛ)r}ràryrIrYr r’rÐ)r›rœZxdr|r|rÚtest_diagonal_viewâs  z)TestMaskedArrayMethods.test_diagonal_viewN).rêrërìr¦r[r]r^r`rcrgrirjrnrprtrurvrÄrwrxryr{r~rárDrErr‚r‰rŠrrrr‘r”r–r—ržr¢r¤r§r¨rªr¬r­r®r|r|r|rr&ã sT     
       
%( $ 
 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„Zedd „ƒZd!d"„Zd#d$„Zd%d&„Zed'd(d)d*„ƒZd+S),ÚTestMaskedArrayMathMethodsc &Cs˜t ddddddddd    d
d d d ddddddddddddddddddd d!d"d#d$g$¡}| d%d%¡}| d&d'd'd&¡}t d(d)d(d)d(d(d)d(d)d)d(d)d(d(d(d)d(d)d(d(d(d)d)d)d)d(d(d)d(d(d(d(d)d(d)d(g$¡}t||d*}t|| |j¡d*}t|| |j¡d*}t d)d)d(d)d(d(d)d)d)d)d(d)d(d(d)d)d(d)d(d(d(d)d)d)d)d(d(d)d)d(d(d(d)d(d)d)g$¡}t||d*}    t|| |j¡d*}
t|| |j¡d*} ||||||||    |
| f
|_dSr'rMrNr|r|rr¦ïsÒû û û z'TestMaskedArrayMathMethods.setup_methodc
Cs¦|j\
}}}}}}}}}    }
| d¡} t| j| d¡ d¡ƒ| d¡} t| j| d¡ d¡ƒ| d¡} t| j| d¡ d¡ƒ| d¡} t| j| d¡ d¡ƒdS©Nrr)r™r©r r²r7Úcumprod) r›rœrOrPr    r½rQrRrSrTrUZmXcpr|r|rÚtest_cumsumprods
 
 
 
z*TestMaskedArrayMathMethods.test_cumsumprodcCsÆttj ddd¡ƒ dd¡}t|dd…df<|d<|d<dD]€}tt|ƒ}t||ƒ}tjdtd    }|     d
¡||d|d }t
||kƒt ||d|d ƒtdt d    }|d|d }t
||kƒq@dS) NrrÈrtr§rÁr)r©r±rÅrÉrÿrçr)r›r¡rîrïrrrñr|r|rÚtest_cumsumprod_with_outputs 
 
 
   z6TestMaskedArrayMathMethods.test_cumsumprod_with_outputc
CsÂ|j\
}}}}}}}}}    }
|j\} }t| ¡| ¡ ¡ƒt | t¡} t |t¡} t|ƒD] }|dd…|f ¡ ¡| |<qZt| ƒD]}|| ¡ ¡| |<q„t| d¡| ƒt| d¡| ƒdSr°)    r™rlr rôror}ryrÏrW)r›rœrOrPr    r½rQrRrSrTrUr6ÚrowsÚcolsÚkr|r|rÚtest_ptp1s
    z#TestMaskedArrayMathMethods.test_ptpcCs>tddgddgtd}|d}t|ddƒt|jdƒdS)Nr­r®rrrjrœZbx)rJrr r
r’r§r|r|rÚtest_add_object?sz*TestMaskedArrayMathMethods.test_add_objectcCs`tdddgdddgtd}t| ¡dƒtdddgdddggtd    }t|jdd
dd d gƒdS) Nrr¨r§rrjrÊrÁrÂrÉr3r)r)rJrr rsrNr|r|rÚtest_sum_objectEsz*TestMaskedArrayMathMethods.test_sum_objectcCs`tdddgdddgtd}t| ¡dƒtdddgdddggtd    }t|jdd
dd d gƒdS) Nrr¨r§rrjrÂrÁrÊrÉr3rÈrÿ)rJrr rrNr|r|rÚtest_prod_objectLsz+TestMaskedArrayMathMethods.test_prod_objectcCs8tdddgtd}t| ¡dƒt| ¡dddgƒdS)Nrr¨r§rÉrÖr)rJrr rrrNr|r|rÚtest_meananom_objectSsz/TestMaskedArrayMathMethods.test_meananom_objectcCsPtdddgƒ}t| ¡j|jƒd|_t| ¡j|jƒttj | ¡¡ƒdS)Nrr¨r§T)    rJr rrlr’r
r}ràZ    is_maskedrNr|r|rÚtest_anom_shapeYs
z*TestMaskedArrayMathMethods.test_anom_shapecCs tt dd¡ dd¡ƒ}t| ¡dddgdd    d
ggƒt|jd d dddgd    d    d    ggƒt|jdd d ddgd ddggƒd d dgd dd gg|_d}t| ¡ |¡dd|gd|dggƒt|jd d  |¡dd|gd    |dggƒt|jdd  |¡dd|gd |dggƒdS)Nrr)r¨r§gÀgø¿r“r”r rÌrr3rŽrr…r|gÀgô¿gè?g@)rJr}rrjr rr’r7)r›r­Zmvalr|r|rÚ    test_anom`s*ÿ ÿ ÿÿÿÿz$TestMaskedArrayMathMethods.test_anomc
Cs¼|j\
}}}}}}}}}    }
| ¡} t| ¡| ¡ ¡ ¡ƒt| ¡| ¡t| j| ¡ddƒtt |¡| ¡ƒt     d¡ 
ddd¡} tj   | d¡} t| jddd| jdddƒdS)    Nrr3é r¨rÁFr)Zaxis1Zaxis2) r™rYr Útracerorsr r’r}rrjràrJ)r›rœrOrPr    r½rQrRrSrTrUZmXdiagr€r“r|r|rÚ
test_traceqsÿÿz%TestMaskedArrayMathMethods.test_tracec
Cs|j\
}}}}}}}}}    }
| d¡} | |¡} t|  d¡|  | ¡ƒt| jtkƒ| d¡} | |¡} t|  d¡|  | ¡ƒt| jdƒt| ƒ}|j||dt| |ƒ| dd¡}| d¡| d¡}}| |¡} t|  d¡| |¡ƒt| ƒ}|j||dt| |ƒdS)NrrÔrarÖrƒ)    r™r7Údotr r
r’r_r3r•)r›rœrOrPr    r½rQrRrSrTrUZfxÚrZfXr*ZmYYZfXXZfYYr|r|rÚtest_dot€s&
 
 
 
 
 
z#TestMaskedArrayMathMethods.test_dotcCs¢tddgddggddgddggd}tddgddggddgddggd}tddgddggƒ}|j||dt| d¡ddgdd    ggƒt|jddgddggƒdS)
Nrr¨r§rÁrr‘rarÛé)rJrÁr r7r’rÏr|r|rÚtest_dot_shape_mismatch˜s $$z2TestMaskedArrayMathMethods.test_dot_shape_mismatchcCsîtddddgdd}tddddgdd}tt| ¡ƒtjƒtt| ¡ƒtjƒ| ¡| ¡kt d¡ksnt‚tt     d¡ 
d    ¡dd}t dd
d}tt|jdd ƒt ƒtt|jdd ƒt ƒt |jd|d |kƒt |jd|d |kƒdS) Nrr¨r§rÁrkrÉTrÄrrjr3rç)r&r r"rr}rùrr_rúrrjr2rr
)r›ZfooÚbarr|r|rÚtest_varmean_nomask¡s z.TestMaskedArrayMathMethods.test_varmean_nomaskc
Cs”|j\
}}}}}}}}}    }
t|jdd| ¡ ¡ƒt|jdd| ¡ ¡ƒt|jddd| ¡jddƒt|jddd| ¡jddƒt|jddj|jddjƒt| ¡j| ¡jƒ|jdd|jdd} } t|jddd| ¡jddƒt|jddd| ¡jddƒtdƒD]j} t| | ||  ¡ ¡ƒt| | |dd…| f ¡ ¡ƒtt     | | ¡|dd…| f ¡ ¡ƒq$dS)    Nr3r©r4Úddof©rÉr§rr¨r©
r™r rrorr rlrWr}rq©r›rœrOrPr    r½rQrRrSrTrUZmXvar0ZmXvar1r¶r|r|rÚ test_varstd±s0ÿÿÿÿ "ÿz&TestMaskedArrayMathMethods.test_varstdcCsNtjdtd}tdtd}ttdƒdd}dD]v}t||ƒ}t|ƒtkƒt|dƒtkƒt|dƒtkƒ||dt|tk    ƒt|jdƒ||dtt     |¡ƒq.ttdƒdd}d    |d<dD]†}t||ƒ}t|d
d tkƒt|dd
d tkƒt|dd
d tkƒ||d
d t|tk    ƒt|jdƒ||d
d tt     |¡ƒqÂdS) NrÖrÉrÈTr‘)rrrrarrrÊ)rèrÉ)
r}r&rÏrrër
rIr r’rq)r›rðZmoutrœÚ
methodnameÚmethodr|r|rÚtest_varstd_specialcasesÇs2 
 
 
 
    z3TestMaskedArrayMathMethods.test_varstd_specialcasescCsÒtdddgdddggdddgdddggd}|jddd}t| d¡dddgƒt|jdddgƒ|jddd}t| d¡dddgƒt|jdddgƒ|jddd}t| d¡dddgƒt|jdddgƒdS)Nrrr‘rÈr¨)r&rr r7r’ržr|r|rÚtest_varstd_ddofês,z+TestMaskedArrayMathMethods.test_varstd_ddofcCs¬tdƒ d¡}t|d<t |¡}t|dddgƒt|ƒ}t|dddgƒt|jdddgƒt|ƒ}tdddgdddgdddggdddgdddgdddggd}t||ƒdS)    NrrrJrrÁrørr‘)rrjrIr}r/r r’r&)r›rœrèrŸr|r|rÚ    test_diagös
ÿz$TestMaskedArrayMathMethods.test_diagcCstdddgdddggƒ}t| d¡ddd    gƒt| d
¡dd gƒt| d¡dd gƒt| d¡dd d gƒt| d
¡ddgƒt| d¡ddgƒt| d¡dddgƒt| d
¡ddgƒt| d¡ddgƒt| d¡dddgƒt| d
¡ddgƒt| d¡ddgƒdS)Nrr¨r§rÁrÊrÂrr)rrÖrÛrÈrÿéx)r&r rsrrYrVrNr|r|rÚtest_axis_methods_nomasksz3TestMaskedArrayMathMethods.test_axis_methods_nomaskiZb)Z
free_bytescCs2ttjddtjdt d¡d}t| ¡dƒdS)N)é'rÕiÿÿrÉr‘gàÿï@)rJr}r Zuint16ryr rrNr|r|rÚtest_mean_overflowsÿz-TestMaskedArrayMathMethods.test_mean_overflowN)rêrërìr¦r²r³r·r¸r¹rºr»r¼r½rÀrÃrÅrÇrÍrÄrÐrÑrÒrÔrrÖr|r|r|rr¯ís,      
" r¯c@seZdZdd„Zdd„ZdS)Ú!TestMaskedArrayMathMethodsComplexc &Cs˜t ddddddddd    d
d d d ddddddddddddddddddd d!d"d#d$g$¡}| d%d%¡}| d&d'd'd&¡}t d(d)d(d)d(d(d)d(d)d)d(d)d(d(d(d)d(d)d(d(d(d)d)d)d)d(d(d)d(d(d(d(d)d(d)d(g$¡}t||d*}t|| |j¡d*}t|| |j¡d*}t d)d)d(d)d(d(d)d)d)d)d(d)d(d(d)d)d(d)d(d(d(d)d)d)d)d(d(d)d)d(d(d(d)d(d)d)g$¡}t||d*}    t|| |j¡d*}
t|| |j¡d*} ||||||||    |
| f
|_dS)+NyÀ @y®Gáz.@y-²ï§!@y!@yé&1¬ü?r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>yÑ"Ûù~ê@y¨ÆK7‰Á@rArBrCrDrErFrGrHrIrJy-²ï§Æï?rÂr§r¨rrrLrMrNr|r|rr¦"sÒû û û z.TestMaskedArrayMathMethodsComplex.setup_methodc
CsR|j\
}}}}}}}}}    }
t|jdd| ¡ ¡ƒt|jdd| ¡ ¡ƒt|jddj|jddjƒt| ¡j| ¡jƒ|jdd|jdd} } t|jddd| ¡jddƒt|jddd| ¡jddƒtdƒD]h} t| | ||  ¡ ¡ƒt| | |dd…| f ¡ ¡ƒtt     | | ¡|dd…| f ¡ ¡ƒqädS)    Nr3r§rrr¨rÈrÊrÂrËrÌr|r|rrÍBs$ÿÿ "ÿz-TestMaskedArrayMathMethodsComplex.test_varstdN)rêrërìr¦rÍr|r|r|rr× s 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 „Zejjed!d"d#d$„ƒZd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Z ej !d7d8d9g¡d:d;„ƒZ"d<d=„Z#d>d?„Z$d@dA„Z%dBdC„Z&dDdE„Z'dFdG„Z(dHdI„Z)dJdK„Z*dLdM„Z+dNdO„Z,dPdQ„Z-dRS)SÚTestMaskedArrayFunctionscCs°t ddddtddddddddg ¡}t dd    ddd
d d    dddd    dg ¡}d d d d d d d d d d d d g }d d d d d d d d d d d d g }t||d}t||d}| d¡||f|_dS)Nr…r†r‡rˆr‰rŠr‹rŒrrŽrrrr‘r–)r}r&r—rJr˜r¥)r›rœrrŸr r¡r¢r|r|rr¦Xs&"  
z%TestMaskedArrayFunctions.setup_methodcCs2ddg}td|ƒ}t|ddgƒt|ddƒdS)Nrr¨F)rUr r§r|r|rÚtest_masked_where_boolbs
z/TestMaskedArrayFunctions.test_masked_where_boolcCsZdddg}t|dƒ}t||ƒt|jdddgƒt|dƒ}t||ƒt|jdddgƒdS©Nrr¨r§r)rKr rÆrQrNr|r|rÚtest_masked_equal_wlisths
 
 
 
 
z0TestMaskedArrayFunctions.test_masked_equal_wlistcCs6dddg}t|dƒ}t|jdddgƒt|jdƒdSrÚ)rKr rÆrrNr|r|rÚtest_masked_equal_fill_valueqs
 
z5TestMaskedArrayFunctions.test_masked_equal_fill_valuecCstdddddgƒ}t|d<ttt|dƒ|ƒt|dƒƒttt|dƒ|ƒt|dƒƒttt|dƒ|ƒt    |dƒƒttt
|dƒ|ƒt |dƒƒttt |dƒ|ƒt |dƒƒttt|dƒ|ƒt|dƒƒttt |dƒ|ƒt |dƒƒttdddddgddd    d
d gƒd d d    d
d gƒdS) Nr…r‡rŒrˆr‰r¨rrr§rÁrÊr)r&rIr rUr=rLr>rMrBrOrCrPr`rQr4rKr³r|r|rÚtest_masked_where_conditionws ÿÿ ÿz4TestMaskedArrayFunctions.test_masked_where_conditioncCs0tdtd}t|jtƒ}t||ƒ}t||ƒdS)N)rÈrÈrÈrÉ)rarÏryrlrrUr )r›rr€Zctestr|r|rÚtest_masked_where_oddities‡s  
z3TestMaskedArrayFunctions.test_masked_where_odditiesc CsTtdƒ}ttƒtd|ƒW5QRXt|dƒ}t|jddddddddddg
ƒdS)NrÈrr)rrÚ
IndexErrorrKr r’ržr|r|rÚ"test_masked_where_shape_constraintŽs
 
 
z;TestMaskedArrayFunctions.test_masked_where_shape_constraintc    Cs|tjdddgd}tjddtj |ddk|¡}W5QRXt|jjj|jjƒt|dtj     t d¡t 
d¡¡ƒdS)    NrÈ)rôz<f2)r“z<f4rÉr)ZoverrôrÊ) r}ryrràrUr r’r~rùrJra)r›r­rŽr|r|rÚtest_masked_where_structured•s ÿz5TestMaskedArrayFunctions.test_masked_where_structuredcCs.t d¡}t d¡}tttjj|dk|ƒdS)NrÈrÊrÂ)r}rrrßràrUr§r|r|rÚtest_masked_where_mismatch¢s
 
z3TestMaskedArrayFunctions.test_masked_where_mismatchc    Cs*ttttdƒƒddƒdddddgƒttttdƒƒddƒdddddgƒtttttdƒƒdddddgdddƒjdddddgƒtttttdƒƒdddddgdddƒjdddddgƒtttttdƒƒdddddgddƒjdddddgƒtttdddddgdddddgddƒjdddddgƒdS)    NrÊrr§réÇrÁr¨r‘)    r rNrËrWrRr&r’rKrQrär|r|rÚtest_masked_otherfunctions¨sD ÿ$ ÿÿ þ ÿÿ þ ÿÿ þ ÿÿ þz3TestMaskedArrayFunctions.test_masked_otherfunctionscCs@tdddddgdddddgd}t| ¡d    d
d d d gƒt| d¡dddddgƒt| d¡dddddgƒt|ƒ}|j|dt|d    d
d d d gƒtd    d
d dd gƒ}tdddddgƒ}t|d<t||| ƒ}t|d    d
dddgƒt|d<t||| ƒ}t|d    d
dddgƒt|dtkƒt|dtk    ƒt|dtkƒdS)Ng82üÁÀó?g¤ª    ¢îÃ@g,¼ËE|§ @gÚæÆô„E@gŏ1·@rrr‘r…r‡rŒr‰r¬g333333ó?gffffff@rkgffffff@gÍÌÌÌÌÌ@r§gÃõ(\Âó?gøS㥛Ä@g-²ï§ @gƒÀÊ¡E@gžï§ÆK·@rarˆr¨rrr|)r&r rér3rIrxr
)r›r­r®rœrzr£r|r|rÚ
test_round¹s( ÿ z#TestMaskedArrayFunctions.test_roundcCs®ttj ddd¡ƒ dd¡}t|dd…df<|d<|d<tjdtd}| d    ¡tj    |d
|d }t
||kƒt ||j    d
|d ƒtdtd}|j    d
|d }t
||kƒdS) NrrÈrtr§rÁrrÅrÉrÿr¨)Zdecimalsrè) r&r}rÍrêrjrIr2rÏrírér
r )r›r¡rrñr|r|rÚtest_round_with_outputÏs 
  z/TestMaskedArrayFunctions.test_round_with_outputcCsètddgd}t| ¡dƒtddgd}t| ¡tkƒtddgd}tjdtd}| d¡|j|dt|dƒtddgd}td    dgd}|j|dt|d
dƒtddgd}td    dgd}|j|dt|d
tkƒdS) Nr²Fr‘rTrÉrÿrag€‡ÃÀr|)    r&r rér
rIr}r2rÏrí)r›r­rr|r|rÚtest_round_with_scalarás"
 
  z/TestMaskedArrayFunctions.test_round_with_scalarcCs*tdƒ}tt|tƒƒt|t d¡ƒdS©NrÊ)r?r
rcrr r}rNr|r|rÚ test_identityúsz&TestMaskedArrayFunctions.test_identitycCsd}tt|dƒdƒtt|tƒtkƒtdddddgƒ}tdddddgddddd    gd
}t||ƒ}t|ddd ddgƒt|jd    dddd    gƒt|_t||ƒ}t|jd    dddd    gƒ||}t|j|jƒt||ƒt|j    |j    ƒ||C}t|j|jƒt||ƒt|j    |j    ƒdS) Ngš™™™™™ñ¿r‡g\Âõ(\ó?r²rr”rŽrrr‘gKTjÉëÇð?)
r rdr
rIr&r rÆr_r’r²)r›rœr®rr£r|r|rÚ
test_powerÿs& 
 
 
 
z#TestMaskedArrayFunctions.test_powercCslt dddgdddgg¡}t|dddgdddggd    }t d
d d g¡}t ||g¡}t|dddgdddggd    }tdd dgd ddggdddgdddggd    }||}t||ƒt|j|jƒ||}t||ƒt|j|jƒ||}t||ƒt|j|jƒtd ddgd ddggdddgdddggd    }||}t||ƒt|j|jƒ||}t||ƒt|j|jƒdS)Nr…r‡rŒrˆr‰r¬rrr‘r¨rÁr§rÄéiqéØé)r}r&r r’)r›Za2Za2mÚb1Zb2Zb2mrrÑr|r|rÚtest_power_with_broadcastings4ÿ
 
 
ÿ
 
z5TestMaskedArrayFunctions.test_power_with_broadcastingzfp errors don't work in wasm©Úreasonc
Cst ddddtddddddddg ¡}t dd    ddd
d d    dddd    dg ¡}d d d d d d d d d d d d g }d d d d d d d d d d d d g }t||d}t||d}| d¡t|dk|dƒ}t|ddddddddddddg ƒt|j|jƒt|dkd|ƒ}t|dd    ddd
dddddd    dg ƒt|jd d d d d d d d d d d d g ƒt|dk|tƒ}t|ddddddddddddg ƒ|j     ¡}d||dk 
d¡<t|j|ƒtj dd*t j tdd| t¡}    W5QRXW5QRXt|    dk|    tƒ}t|ddddddddddddg ƒt|j|    jƒdS)Nr…r†r‡rˆr‰rŠr‹rŒrrŽrrrr‘r–r¨i÷ÿÿÿg"ÀTrrz invalid valuerîrÁrÈr§)r}r&r—rJr˜rxr rÆrIrÝr7rrárâÚRuntimeWarningrºr»r~)
r›rœrrŸr r¡r¢r™ÚtmpZixmr|r|rÚ
test_where4sZ&"  
ÿÿ$ÿ
 "z#TestMaskedArrayFunctions.test_wherecCsJt d¡}tdƒ}| ¡}ttj d||¡|ƒttj d||¡|ƒdS)NT)r}r&rJrÝr ràrx)r›r­r®rÂr|r|rÚtest_where_objectVs
 
z*TestMaskedArrayFunctions.test_where_objectcCsþtdƒ}t|d<|dk}t||tƒ}t|j|jkƒt|dtkƒt|dtkƒt|dtkƒt|dtk    ƒt|dtk    ƒt||ƒt|t|ƒ}t|j|jkƒt|dtkƒt|dtk    ƒt|dtk    ƒt|dtkƒt|dtkƒdS)NrÈr§rørÁr)r)rrIrxr
r~r r}r|r|rÚtest_where_with_masked_choice]s$ 
 z6TestMaskedArrayFunctions.test_where_with_masked_choicecCs„tdddddgƒ}tdddddgƒ}t|d<t||| ƒ}t|ddd    d
d gƒt|d<t||| ƒ}t|ddd    d
d gƒt|dtkƒt|dtk    ƒt|dtkƒtdd ƒ}t|d <tdd ƒd}t|d<tdddddgdddddgd}| d¡}t|||ƒ}t|||ƒ}t||ƒtt|ƒtkƒt|dddddgƒt|tdƒ}t|dddddgƒt|dtƒ}t|dddddgƒdS)Nr…r‡rŒrˆr‰rrr¨rrr|rÂrÖrÈr‘r§rSrHr)    r&rIrxr r
rr7r;r_)r›rœrzr£rÚcmr¤r|r|rÚ test_where_with_masked_conditionss4
 
 
  z9TestMaskedArrayFunctions.test_where_with_masked_conditioncCsXtjdtjd}tjdtjdd}t|dk||ƒj}t tjtjgg¡}t||ƒdS)NrÁrÉr³r )r}rr®r.rxr~Zfind_common_typer )r›rœrrÑrŸr|r|rÚtest_where_types
z(TestMaskedArrayFunctions.test_where_typecCs^t d¡ dd¡}t d¡}t dddg||¡}tdddg||ƒ}t||ƒt|j|jƒdS)Nrr§rr)r}rrjryrxr r~)r›rœrrìràr|r|rÚtest_where_broadcast˜s 
 
z-TestMaskedArrayFunctions.test_where_broadcastcCs|t dtfdtfg¡}tjdddg|d}tjd|d}t dd    d    g||¡}t dd    d    g||¡}t||ƒt|j|jƒdS)
Nr­r®rµrÅrrÉ)rÈrIrr)r}r~r»r&rxr )r›rrœrrìràr|r|rÚtest_where_structured¢s
z.TestMaskedArrayFunctions.test_where_structuredcCsvt dtfdtfg¡}tjdddg|d}tdddg|tƒ}tdddg|ƒ}t|j|jƒt||ƒt|j|jƒdS)    Nr­r®rµrÅrrÉrr)    r}r~r»r&rxrIrUr r’)r›rrœràr„r|r|rÚtest_where_structured_masked­s
z5TestMaskedArrayFunctions.test_where_structured_maskedc    CsLtjdtd}tj|d<tj|d<tjtddtj     |¡W5QRXdS)NrÊrÉr§r¨z!not supported for the input typesrî)
r}rrZPINFÚNaNrárðrýràÚmasked_invalidrNr|r|rÚtest_masked_invalid_error¸s
 
ÿz2TestMaskedArrayFunctions.test_masked_invalid_errorcCsFGdd„dƒ}tj |ƒ¡}t|jt |ƒ¡ƒt|jdddgƒdS)Nc@seZdZdZdd„ZdS)zCTestMaskedArrayFunctions.test_masked_invalid_pandas.<locals>.SeriesZnonsensecSst dtjtjg¡Srè)r}r&rr-rär|r|rÚ    __array__ÇszMTestMaskedArrayFunctions.test_masked_invalid_pandas.<locals>.Series.__array__N)rêrërìr²rr|r|r|rÚSeriesÄsrFT)r}ràrþr r²r&rÆ)r›rr€r|r|rÚtest_masked_invalid_pandasÀsz3TestMaskedArrayFunctions.test_masked_invalid_pandasrÝTFcCsjtj ddddg¡}|jtks"t‚tjj||d}|jtk    s@t‚|jtksNt‚t |j    |j    ¡|ksft‚dS)Nrr¨r§rÁr2)
r}ràr&rÆr_rúrþr’rÞr²)r›rÝr­ròr|r|rÚtest_masked_invalid_full_maskÎs z6TestMaskedArrayFunctions.test_masked_invalid_full_maskc    Cs|ddddgddddgd    d
d d gd dddgg}tddddg|ƒ}t|td    dddgƒƒtddddg|dd}t|td    dddgƒƒtddddg|dd}t|td    dddgƒƒtddddgddddgd}t||dd}t|tddddgƒƒt|jddddgƒt|ddddgddddgddddgddddggd}ddddg}t||dd}t|td    dddgƒƒt|jddddgƒdS)Nrrr¨r§rÈrŸrtrÆrIérlérTrfr¾é!rÁrhr™Úwrapr‘r)r(r r&r’)r›ÚchoicesÚchosenÚindices_r|r|rÚ test_chooseÚs,
 
ÿ
 
ÿ z$TestMaskedArrayFunctions.test_choosec    CsNddddgddddgd    d
d d gd dddgg}tdtd}tddddg||d}t|td    dddgƒƒt||kƒtdtd}tddddgddddgd}t||d|d}t|tddddgƒƒt|jddddgƒt|ddddgddddgddddgddddggd}ddddg}tdtd t¡}t||d|d}t|tddddgƒƒdS)Nrrr¨r§rÈrŸrtrÆrIrrlrrTrfr¾rrÁrÉrar‘r)ršrèrr¿)    r2r»r(r r&r
r’rar)r›rrbr    r
r|r|rÚtest_choose_with_outñs*
 
ÿ   
 
ÿ z-TestMaskedArrayFunctions.test_choose_with_outcCsôtdƒ}t|d<| d¡}t|jdƒt|jdƒ| dd¡}t|jdƒt|jdƒ|jddd}t|jdƒt|jdƒ|jdddd}t|jdƒt|jdƒt |d    ¡}tt|t    ƒƒt|jd    ƒt|d
tkƒt|jdƒdS) NrÈr)rÊr¨r rÊr¨r¢r )r¨rÊrh)
rrIrjr rlr
rr}rcr)r›r­r®rzr|r|rr‚s&
       z%TestMaskedArrayFunctions.test_reshapec    CsÚdtfdtfg}t|ƒ}t|dtfdtfgƒt|t|ƒkƒtdf}t|ƒ}t|tdfƒt|t|ƒkƒt}t|ƒ}t|t t¡ƒt|t|ƒkƒdtfddtfdtfgfg}t|ƒ}t ddddgfg¡}t||ƒt|t|ƒkƒdtdffg}t|ƒ}t|t dtdffg¡ƒt|t|ƒkƒd    tfg}t|ƒ}t|t d    tfg¡ƒt|t|ƒkƒt dtd
fg¡}t|ƒ}t dtfd|fg¡}t|ƒ}t|t dtfddtd
fgfg¡ƒt|jdd |kƒdS) Nr­r®r¨r°r±)r­rî)r°rî)r±rî)rôr­r§r)    rÏrGr rñr
r}r~r»rƒ)r›ÚntyperÑrŸZ    base_typeZ
base_mtypeZsub_typer|r|rÚtest_make_mask_descr!s>
 
$z-TestMaskedArrayFunctions.test_make_mask_descrc Csddg}t|ƒ}t|jtƒt|ddgƒtjddgtd}t|ƒ}t|jtƒt|ddgƒdtfdtfg}tjddg|d}t|ƒ}t|jtƒt|ddgƒdtfdtfg}tjddg|d}t||jd}t|j|ƒt||ƒdtfdtfg}dtfdtfg}tjddg|d}t||jd}t|j|ƒt|tjddg|dƒtjdd    dd
}tt    |tj
ƒƒt||jd}t||ƒt||k    ƒtjdd dd
}t||jd}t||ƒd d g}ttg}d}t   |||¡D]4\}    }
} tt |    |
| d} t| t k||    |
| fƒqÞdS)NrrrÉr­r®rhrir`z?,?r|rÁTFzcopy=%s, shrink=%s, dtype=%s)rÝrr~)rFr r~rr}r&rñrÏr
rcZvoidÚ    itertoolsrer_) r›r’rÑÚmdtypeZbdtypeZtest2ZboolsZdtypesZ    msgformatÚcpyZshrrròr|r|rÚtest_make_maskOsL    
 
 
z'TestMaskedArrayFunctions.test_make_maskc CsRdtfdtfg}tjddddg|d}t|tƒ}t||ƒtt|ƒ}t||ƒt|dƒ}t||ƒtjddddg|d}t||ƒ}tjddddg|d}t||ƒd    tfd
tfg}tjddddg|d}zt||ƒ}Wntk
rêYnXdtfdd tfd tfgfg}tjd d g|d}tjddg|d}    tjdd g|d}
tt||    ƒ|
ƒdS)Nr­r®rhrirurÉFrJrôr“r°r±r˜rš©rrhr–)rñr}r&rHr_r rè) r›rŒr’rÑrÌrŸZ    othertyper~rÇZbmaskZcntrlr|r|rÚ test_mask_ors.
 
 
 
 
 
 
 
z%TestMaskedArrayFunctions.test_mask_orcCsÊtjdddgtd}tt|ƒ|ƒtjddgdtfdtfgd}t|ƒ}tjddddgtd}t||ƒdtfddtfd    tfgfg}d
d g}tj||d}t|ƒ}tjddddddgtd}t||ƒdS) NrrrÉrhrir­r®r°r±rr™)r}r&rñr r6)r›r’rÑrŸrrÐr|r|rÚtest_flatten_maskžs
z*TestMaskedArrayFunctions.test_flatten_maskcCsTt ddddg¡}t|dd}t|ƒ}t|| ¡ƒt|dƒ}t|| dd¡ƒdS)Nrr¨r§rÁFr‘r*)r}r&rr rj)r›r­r    rÑr|r|rÚtest_on_ndarray°s  
z(TestMaskedArrayFunctions.test_on_ndarraycCsxt d¡}d|_t ddddg¡}|dddg}tjj||dd}t||ƒtj |¡}tjj||dd}t||ƒdS)    Nrør›TFrr¨r§r3)r}rrlr&ràrXr )r›r€ZcondrŸrÑZmarrr|r|rrn¹s
 
 z&TestMaskedArrayFunctions.test_compresscCstj ddg¡}tj |¡}tt|ƒtjkƒGdd„dtjƒ}tj |dd¡}tj |¡}tt|ƒ|kƒtj dgdgg¡}t|jdƒtj dggggg¡}t|jdƒGdd„dt    ƒ}tj |gggggƒ¡}t|jdƒGd    d„dt    ƒ}tj |gggggƒ¡}t|d
ƒdS) Nrr¨c@s eZdZdS)z3TestMaskedArrayFunctions.test_compressed.<locals>.AN©rêrërìr|r|r|rrôÎsrôrr«c@s eZdZdS)ú3TestMaskedArrayFunctions.test_compressed.<locals>.MNrr|r|r|rrÜsrc@seZdZdd„ZdS)rcSsdS)Nr«r|rär|r|rroäsz>TestMaskedArrayFunctions.test_compressed.<locals>.M.compressedN)rêrërìror|r|r|rrãsr«)
r}ràr&ror
r"rr rªr)r›r­rÑrôrr|r|rrpÆs"     z(TestMaskedArrayFunctions.test_compressedc    Cstt d¡dƒ}t ddg¡}tj ||¡}t|tddddddgdƒƒtjj||dd    }t|tdddd
ddgdƒƒtj ddgdddg¡}t|tddddgdƒƒddg}tddddgdƒ}tjj||dd    }t|tdddddgdƒƒtjj||d d    }t|tdddddgdƒƒdS) NrÊr¨rrrÖr)rÁF)Zpropagate_maskr§T)rKr}rr&ràZconvolver )r›r­r®rÑr|r|rÚ test_convolveêsz&TestMaskedArrayFunctions.test_convolveN).rêrërìr¦rÙrÛrÜrÝrÞràrárârärårærçrérêrïrárDÚskipifrrôrõrörørùrúrûrürÿrrErr r r‚rrrrrrnrprr|r|r|rrØUsP
      
!
 
.0     $rØc@sdeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dd„Z dd„Z dS)ÚTestMaskedFieldscCsdddddg}dddd    d
g}d d d ddg}dtfdtfdg}dtfdtfdtfg}dddddg}ttt|||ƒƒ||d}t||||d|_dS)Nrr¨r§rÁrÊr²r³rbrdrer`raZthreeZfourZfiver­r®rgrzrrj)Úbaser’Úddtyper)r»rÏrñr&rËrÌr‹rÐ)r›ZilistÚflistÚslistrrr’rr|r|rr¦szTestMaskedFields.setup_methodcCsÀ|jd}|jd}t|_t|jtj|j|dƒt|_t|jtj    |j|dƒd|_t|jtj|j|dƒd|_t|jtj    |j|dƒdddddg|_t|jtj
dd    „d
Dƒ|dƒdS) NrrrÉFTrrcSsg|]}|||f‘qSr|r|)r€rœr|r|rr‚sz;TestMaskedFields.test_set_records_masks.<locals>.<listcomp>)rrrrr) rÐr_r’rrÆr}ryrlrIrar&)r›rrr|r|rÚtest_set_records_masks
s 
 
ÿÿz'TestMaskedFields.test_set_records_maskscCsž|jd}|d|d|d}}}ttdf|d<t|jtƒt|jdddd    d
gƒt|jtƒt|jtd d d dgƒt|jdƒt|jdddddgƒdS)Nrr­r®rzr—rr§r¨rÁrÊr³rbrdrerˆópir sthreeófourófive©rÐr—r r~r»r²rÏ©r›rZbase_aZbase_bZbase_cr|r|rÚtest_set_record_elements
    ÿz(TestMaskedFields.test_set_record_elementcCs¢|jd}|d|d|d}}}ttdf|dd…<t|jtƒt|jdddddgƒt|jtƒt|jtttd    d
gƒt|jd ƒt|jd d d d dgƒdS)Nrr­r®rzr—r§rÁrÊrdrerˆr!r"r#r$r%r|r|rÚtest_set_record_slice-s
    ÿz&TestMaskedFields.test_set_record_slicecCsP|jd}t|d<dD]4}t||jdddddgƒt||j|j|ƒqdS)zCheck record accessrr)r­r®rzrN)rÐrIr r’r²)r›rr6r|r|rÚtest_mask_element<s
 
z"TestMaskedFields.test_mask_elementcCspdtfdtfg}td|d}tt|ƒtjdddgddgdƒt|dd…<tt|ƒtjdddgddgdƒdS)    Nr­r®r§rÉrh)r­ú|b1)r®r)rJ)r»rÏr2r r<r}r&rI)r›r‘rÑr|r|rÚtest_getmaskarrayEs  ÿÿ  ÿÿz"TestMaskedFields.test_getmaskarraycCs¶ttt d¡tj d¡ƒƒ}t |¡}t|dtfdtfgd}d|jd<tjdgddgt    d}| 
t¡}t ||  ¡ƒt |j|ƒ| 
td    f¡}t ||ƒt |j|  d
d    ¡ƒdS) NrÈr­r®rÉrurrér¨rÖ)rËrÌr}rrÍrÎr&rÏr’rñrar rhrj)r›ÚiteratorrÐr­Ú controlmaskrÑr|r|rÚ    test_viewQs
 
 
 
zTestMaskedFields.test_viewcsªdtfdtfg}ttttj d¡t d¡ƒƒ|d‰tjttddddddddddg
ddddddddddg
ƒƒdtfdtfgdˆ_    ‡fdd„}|dƒ|dƒ|d    ƒdS)
Nr­r®rÈrÉrrcs”ttˆ|ƒtƒtˆ|jˆj|ƒtˆ|jˆj|ƒttˆ|dfƒtƒtˆ|dfjˆj|dfƒtˆ|dfjˆj|dfƒdS)N.)r r"r^rr²rÆr)r†rnr|rÚ _test_indexhs z2TestMaskedFields.test_getitem.<locals>._test_indexrƒ)
rÏr&rËrÌr}rÍrÎrrñr’)r›r‘r/r|rnrÚ test_getitemas$ÿþ     zTestMaskedFields.test_getitemcCs`t dtfdtfg¡}tjjddg|d}d|dd<t|dt ddg¡ƒd    |dd<t|dt dd    g¡ƒt dtfdtfg¡}tjd
d g|d}tjj    d |d}d |dd<t|j
|ƒtjj    d |d}d |dd<t|j
|ƒtjd d g|d}tjj    d |d}|  ¡d |dd<t|j
|ƒtjj    d |d}|  ¡d |dd<t|j
|ƒdS)Nr­r®)r…r)r‡r¨rÉrŒrr…rˆr`)TTr¸r¨r) r}r~rÏr»ràrr r&rñr,r’rV)r›r‘ràrrŸr­r|r|rÚ test_setitemus.         zTestMaskedFields.test_setitemcCs:tjjddd}tj d¡}||d<t|jdddgƒdS)NrTr‘r§rF)r}ràrJrr r’)r›Zmask_0dr€r|r|rÚtest_setitem_scalar“s z$TestMaskedFields.test_setitem_scalarcCs,|jdD]}tt|ƒt|jdƒƒq
dS)Nrr)rÐr r¼)r›Zrecr|r|rÚtest_element_lenšsz!TestMaskedFields.test_element_lenN)rêrërìr¦r r&r'r(r*r.r0r1r2r3r|r|r|rrþs
     rc@seZdZdd„Zdd„ZdS)ÚTestMaskedObjectArraycCsltj ddg¡}ttfD]L}t d¡ |¡}t d¡ |¡}||d<||d<t|d|kƒt|d|kƒtt|dt    ƒƒtt|dt    ƒƒt|dd|kƒt|dd|kƒtjj
|d<t|d|kƒtt|dt    ƒƒtt|dt    ƒƒt |dj dƒt|dd|kƒt |dj |ƒt |dj dƒt |ddj |ƒt |ddj dƒqdS)    Nr¨r§rr©r.)r.r|T)r}ràr&rÏrrrºr
rcrrIr r’rÐ)r›r€rZa0Za1r|r|rr0¢s, z"TestMaskedObjectArray.test_getitemcCsxtj ddg¡}t tjjgt¡d|d<t|jdtjjkƒt|dtjjkƒtjj|d<t|dtjjkƒdS)Nr5r)r}ràr&rIrr
rÐ)r›r€r|r|rÚtest_nested_ma¿s  z$TestMaskedObjectArray.test_nested_maN)rêrërìr0r6r|r|r|rr4 sr4c@sDeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dS)ÚTestMaskedViewcCsrttt d¡tj d¡ƒƒ}t |¡}t|dtfdtfgd}d|jd<tjdgddgt    d}|||f|_
dS)    NrÈr­r®rÉrurrr+) rËrÌr}rrÍrÎr&rÏr’rñrÐ)r›r,rÐr­r-r|r|rr¦Òs 
 
zTestMaskedView.setup_methodcCsB|j\}}}| ¡}tt|tƒƒt|j|jƒt|j|jƒdSrµ)rÐrar
rcrr r²rÆ©r›rÐr­r-rÑr|r|rÚtest_view_to_nothingÚs
 z#TestMaskedView.test_view_to_nothingcCsN|j\}}}| tj¡}tt|tƒ ƒt||jƒt    || |j
¡  ¡ƒdSrµ) rÐrar}rr
rcrr r²rr~r’r8r|r|rÚtest_view_to_typeás
   z TestMaskedView.test_view_to_typecCsB|j\}}}| t¡}tt|tƒƒt|| ¡ƒt|j|ƒdSrµ)    rÐrarÏr
rcrr rhr’r8r|r|rÚtest_view_to_simple_dtypeès
 
z(TestMaskedView.test_view_to_simple_dtypecCs |j\}}}| dtfdtfg¡}t|jjjdƒt|d|dƒt|d|dƒ|d dtfdtfg¡}tt|t    ƒƒt|jjjdƒt|d|ddƒt|d|ddƒ|d dtfdtfg¡}tt|t    ƒƒt|jjdƒt|d|ddƒt|d|ddƒdS)Nrôr“)rôr“r­r®rrÖ)
rÐrarÏr r’r~rùr
rcrr8r|r|rÚtest_view_to_flexible_dtypeðs z*TestMaskedView.test_view_to_flexible_dtypecCs²|j\}}}| tdf¡}tt|tƒƒt||ƒt|j| dd¡ƒ|d tdf¡}tt|tƒƒt||dƒt|jdƒ|d tdf¡}tt|tƒƒt||dƒdS)Nr¨rÖrru)    rÐrarÏr
rcrr r’rjr8r|r|rÚtest_view_to_subdtypes 
 z$TestMaskedView.test_view_to_subdtypecCsL|j\}}}| tdftj¡}t||ƒtt|tjƒƒtt|tƒ ƒdS)Nr¨)    rÐrarÏr}rbr r
rcrr8r|r|rÚtest_view_to_dtype_and_types
 
z*TestMaskedView.test_view_to_dtype_and_typeN)
rêrërìr¦r9r:r;r<r=r>r|r|r|rr7Ðsr7c@seZdZdd„Zdd„ZdS)ÚTestOptionalArgscCsàt d¡ d¡}tjdtd d¡}d|dd…dd…df<tjj||d}dd    „}d
d „}d D]}||||ƒ||||ƒq^d D]}||||ƒq€t d¡ d¡ddk}tjj||d}dD]}||||ƒ||||ƒq¾dS)Nç8@©r¨r§rÁrÚrÉTrÖr‘cSs~t |¡}tj |¡}t||ddddd…f||ddd…fddƒt||ddddd…f||ddd…fddƒdS)Nrr3.rÖri)ržÚ__getattribute__r}ràr ©r‰r­r™Znumpy_fZma_fr|r|rÚtestaxis(s 
 2ÿz4TestOptionalArgs.test_ndarrayfuncs.<locals>.testaxiscSsÂt |¡}tj |¡}t||ddj||ddjƒt||ddj||ddjƒt||dddddd…f||ddd…fdddƒt||dddddd…f||ddd…fdddƒdS)    NT©ÚkeepdimsFr©r4rF.rÖri)ržrBr}ràr rlrCr|r|rÚ testkeepdims1s
  ÿ ÿÿÿz8TestOptionalArgs.test_ndarrayfuncs.<locals>.testkeepdims)rsrrrrrår¨r)rr¹)r}rrjryrñràr&)r›r™r    r­rDrHr‰r|r|rÚtest_ndarrayfuncss       z"TestOptionalArgs.test_ndarrayfuncscCsBt d¡ d¡}tjdtd d¡}d|dd…ddd…f<tjj||d}tt|ƒdƒtt|d    d
d t    d ƒƒtt|d d
dt    dƒƒtt|dddt    dƒƒtt|d    ddd t    dƒƒtt|d dddt    dƒƒtt|dd
d t    d ƒƒt
t t|dd
t
tj t|dd
tjj|t d}tt|ƒdƒtt|d    d
dt    d ƒƒtt|d d
dt    dƒƒtt|dddt    dƒƒtt t|dd¡dƒtt|d    dddt    dƒƒtt|d dddt    dƒƒtt|dd
dt    d ƒƒt
t t|dd
t
tj t|dd
tttjjƒdƒt
tj ttj d    ¡d    d
dS)Nr@rArÚrÉTrr‘rÄrr3r¨)r¨rÁrirÁrærEr…rG)r¨rrÁ)rrrÁrƒrJr§rÂ)r}rrjryrñràr&r r-rarrèrßr_rªrI)r›r™r    r­r|r|rÚ
test_countNs4zTestOptionalArgs.test_countN)rêrërìrIrJr|r|r|rr?s/r?c@s¨eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dd„Z dd„Z dd„Zejjdddd„ƒZejjdddd„ƒZdd „Zd!d"„Zd#S)$ÚTestMaskedConstantcCsŽt|tjjdƒtjjkƒt dddg¡}|tjj|ƒ}t|tjjk    ƒtt|tjjjƒ ƒt|j    |j    ƒttj 
|¡tj |j    t dƒdS)Nrr¨r§rÉ) r
r}ràrIr&rcrìÚMaskedConstantr rlr;rarñ)r›rZvectorrñr|r|rÚ _do_add_testvszTestMaskedConstant._do_add_testcCs| tj¡dSrµ)rMr}rrär|r|rÚ
test_ufunc„szTestMaskedConstant.test_ufunccCs| dd„¡dS)NcSs||Srµr|©r­r®r|r|rr·ˆr¸z2TestMaskedConstant.test_operator.<locals>.<lambda>)rMrär|r|rÚ test_operator‡sz TestMaskedConstant.test_operatorcCs:tj tjj¡}tt|tjjjƒ ƒt|tjjk    ƒdSrµ)r}ràr&rIr
rcrìrLr    r|r|rÚ    test_ctorŠszTestMaskedConstant.test_ctorcCs8tttjjƒdƒtjj tjjj¡}t    t|ƒdƒdS)NrI)
r r!r}ràrIrÚ__new__rìrLr)r›Zmasked2r|r|rÚ    test_repr’szTestMaskedConstant.test_reprc
Cspddlm}tdtjdƒD]N}|ƒ.}tjtjj||d|     d¡t 
|¡}W5QRXt |tjjkƒqdS)Nr)ÚBytesIOr¨rrU) ÚiorTrWr{rXÚdumpr}ràrIÚseekÚloadr
)r›rTr\r‰ròr|r|rÚ test_pickle›s 
zTestMaskedConstant.test_picklecCs*ttjj ¡tjjktj ¡tjkƒdSrµ)r r}ràrIrÝZTrue_rär|r|rr9¥sþzTestMaskedConstant.test_copycCs&ddl}t| tjj¡tjjkƒdSro)rÝr
r}ràrI©r›rÝr|r|rÚ
test__copy¬sÿzTestMaskedConstant.test__copycCs&ddl}t| tjj¡tjjkƒdSro)rÝr
r>r}ràrIrZr|r|rrA±sÿz TestMaskedConstant.test_deepcopycCs˜tjj}ttjjjtj|ddƒtttj|j    ddƒtttj|j
ddƒtjj  tjj ¡}tttj|ddƒtttj|j    ddƒtttj|j
ddƒdS)Nr|rF) r}ràrIrrìrrHÚsetitemrèrÐr’rar)r›Úorigrar|r|rÚtest_immutable¶sz!TestMaskedConstant.test_immutablecCs6t dt¡}tttj|dtjjƒttttjjƒdS©Nr|)    r}ryr»rrrHr\ràrI)r›Za_ir|r|rÚtest_coercion_intÁs z$TestMaskedConstant.test_coercion_intcCs8t dt¡}tttj|dtjjƒt    t 
|d¡ƒdSr_) r}ryrÏrrãrHr\ràrIr
rq)r›Za_fr|r|rÚtest_coercion_floatÆs z&TestMaskedConstant.test_coercion_floatz See gh-9750rðcCs*t dd¡}tjj|d<t|ddƒdS)Nr|ZU10r©r}ryràrIr )r›Za_ur|r|rÚtest_coercion_unicodeËs  z(TestMaskedConstant.test_coercion_unicodecCs*t dd¡}tjj|d<t|ddƒdS)Nr|ZS10s--rb)r›Za_br|r|rÚtest_coercion_bytesÑs  z&TestMaskedConstant.test_coercion_bytescCsNGdd„dttjjƒƒ}|ƒ}t||ƒkƒt|tjjk    ƒtt|ƒdƒdS)Nc@s eZdZdS)z-TestMaskedConstant.test_subclass.<locals>.SubNrr|r|r|rÚSubÙsrerI)r"r}ràrIr
rr!)r›rer­r|r|rÚ test_subclass×s
z TestMaskedConstant.test_subclasscCs.ttttjjddƒttttjjdtjƒdS)Nrlr»r~)rr¿Úsetattrr}ràrIr­rär|r|rÚtest_attributes_readonlyàsz+TestMaskedConstant.test_attributes_readonlyN)rêrërìrMrNrPrQrSrYr9r[rAr^r`rarárDZxfailrcrdrfrhr|r|r|rrKus$    
 
 
    rKc@seZdZdd„ZdS)ÚTestMaskedWhereAliasescCs¼tt dg¡t d¡ƒ}t|jdgƒttjtjƒ}t|jdƒtj tjtj ¡}t|jdƒtjjddddgd    dd
}t|jtjj    kƒtjjddddgd    dd
}t|jdgdƒdS) NgàÀi€ÿÿTFrr¨r§rÁrÊr )
rTr}r&rðr r’r-ràr
r_)r›ròr|r|rÚtest_masked_valuesés  z)TestMaskedWhereAliases.test_masked_valuesN)rêrërìrjr|r|r|rriåsricCs<tjjddddgddddgd}tt |¡dgdggƒdS)Nrrr¨r§r‘)r}ràr&r Zargwherernr|r|rÚtest_masked_arrayús rkcCsÊtj ddddg¡}tjj|dk|dd}t|jddddgƒtjjddddgddddgd    }tjj|dk|dd}t|jddddgƒtj tjddddg¡}tjj|dd}t|jdddddgƒdS)
Nrr¨r§rÁFr2Trr‘)r}ràr&rUr r’r-rþ)r­rõr|r|rÚtest_masked_array_no_copyþs rlcCstjjdddgdd}tjjdddgdd}tj ||¡}ddddddg}ddddddg}t|j|ƒt|j|ƒtj d¡}tj d    ¡}tj ||¡}dgd}dgddgd}t|jd
|ƒt|j|ƒtjj||dd }t|jd
|ƒt|j|ƒdS) Nrr¨r§©r0rÁFTr*)r§rr÷r3)    r}ràrKÚappendr rÐr’r,ra)r­r®rñZ expected_dataZ expected_maskr|r|rÚtest_append_masked_array s"    
 rocCs²tjjdddgdd}tj dddgdd    d
ggd¡}tttjj||d d tjj|tjdd…f|d d }tj dd ¡}tjj    |ddg<| 
d¡}t |j |j ƒt |j |j ƒdS)Nrr¨r§rmrÁrÊrÂr)rørrr3rÈr)r}ràrKrTrrèrnZnewaxisrrIrjr rÐr’)r­r®rñr„r|r|rÚ#test_append_masked_array_along_axis$s 
rpcCsttdƒdkƒdS)Nyð?ð?y@Œµx¯D)r
r.r|r|r|rÚtest_default_fill_value_complex2srqcCs8tdddgdddgd}tj|d|d}t||kƒdS)Nr…r‡rŒrrr‘ra)r&r}rr
r¶r|r|rÚtest_ufunc_with_output7srrc
Cstdddgdddgd}tdddgdddgd}tdddgdddgd}td    d
d gdddgd}| ¡}t |||¡}| ¡}tj|||d }| ¡}tj|||fd }    t|j|jƒt|j|jƒt|    j|jƒt|    j|jƒt|j|jƒt|j|jƒd S)z0 Test that masked arrays are immune to gh-10459 rr¨r§rr‘rÈrIrTrŸrlrraN)r&rÝr}rr r’rÐ)
r­r®rèr„Zout_posZres_posZout_kwZres_kwZout_tupZres_tupr|r|rÚtest_ufunc_with_out_varied?s rscCs²t dtdfddtfgfg¡}tdddgdfdddgdfgdddgd    fdddgd
fgg|d }tjj|d dd <| |¡}|jjt |¡jks”t    ‚|j
jjt |¡jks®t    ‚t ||ƒt ||j|jd dkƒt t |j|jd dƒtjƒ|j|jdd}t |jjƒt |j
jjƒtj||dd}|jjt |¡jks@t    ‚|j
jjt |¡jks\t    ‚t ||ƒt |tj||d ddkƒtj||jddd}t |jjƒt |j
jjƒdS)Nr†r§rœrrr¨r¦r§)rŒ)rˆrÉrFr2)Úsubokr¢r T)r~rt)r~rÝrt)r~r rt)r}r~r»rÏr&ràrIrºrùrúr’r r
r"rrÚ f_contiguous)ÚdescrrœZx_aZx_fZx_a2Zx_f2r|r|rÚtest_astype_mask_orderingXs2þþ
 
 
 rwr4r5r7zignore::numpy.ComplexWarningcCs†tjjtd|ƒdd}| |¡}t|jdkƒt|j|kƒt|jj|kƒt|jdkƒt|j|kƒt|jj|kƒt||ƒdS)Nr§rrˆ)    r}ràr&rarºr
rr~r )r4r7ÚsrcÚdstr|r|rÚtest_astype_basicxs
rzcCsnt g¡}t d|¡}tj |¡}t|j|jƒt|j|jƒtjj||d}t|j|jƒt|j|jƒdS)NrÁr‘)r}r~r2ràr&r rl)rrœr½r|r|rÚtest_fieldless_void‹s
  r{cCs2tjj}tjjd|jd}d|_t|jjdƒdS)Nrr‘r»r|)r}ràrIr&r’rlr rOr|r|rÚ0test_mask_shape_assignment_does_not_break_maskedšsr|rzHno docstrings present to inspect when PYTHONOPTIMIZE/Py_OptimizeFlag > 1rðcCs(dd„}d}ttjj |jd¡|ƒdS)NcSsdS)zyThis docstring
 
        Has multiple lines
 
        And notes
 
        Notes
        -----
        original note
        Nr|rär|r|rrÏ£s ztest_doc_note.<locals>.methodzNThis docstring
 
Has multiple lines
 
And notes
 
Notes
-----
note
 
original noteZnote)r r}ràrìr1Ú__doc__)rÏZ expected_docr|r|rÚ test_doc_note s  r~)¸r}Ú
__author__ÚsysràrHrrKráÚ    functoolsrržr}Z numpy.ma.coreZnumpy.core.fromnumericrìrÀZnumpy.core.umathr¾Z numpy.testingrrrrZnumpy.testing._private.utilsrrZ numpy.compatr    Znumpy.ma.testutilsr
r r r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r—rÄrpràZMaskedArrayFutureWarningrFrGr„rÅrMrnr²rär&r¯r×rØrr4r7r?rKrirkrlrorprqrrrsrwrDrErârzr{r|rrÚoptimizer~r|r|r|rÚ<module>sÀ    (ÿ­ þ<o1Ts55.#0NWp 
ÿ