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
U
P±dëVã@s@ddlZddlZddlZddlZddlmZddlZddlZddlZddl    m
Z
ddl m Z ddlZddlmZddlmZmZmZmZmZmZmZmZmZmZmZmZmZddlm m!Z"ddl#m$Z$ddl%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@mAZAmBZBmCZCmDZDmEZEddlFmGZGd    d
„ZHd d „ZIGd d„dƒZJGdd„dƒZKGdd„dƒZLGdd„dƒZMGdd„dƒZNGdd„dƒZOGdd„dƒZPGdd„dƒZQGdd„dƒZRGdd „d ƒZSGd!d"„d"ƒZTGd#d$„d$ƒZUGd%d&„d&ƒZVGd'd(„d(ƒZWGd)d*„d*ƒZXGd+d,„d,ƒZYGd-d.„d.ƒZZGd/d0„d0ƒZ[Gd1d2„d2ƒZ\Gd3d4„d4ƒZ]dvd6d7„Z^dwd9d:„Z_Gd;d<„d<ƒZ`Gd=d>„d>ƒZaGd?d@„d@ƒZbGdAdB„dBƒZcejd edCdDejfdEejfdF¡ejd edGddHdIg¡GdJdK„dKƒƒƒZgGdLdM„dMƒZhGdNdO„dOƒZiGdPdQ„dQƒZjGdRdS„dSƒZkGdTdU„dUƒZlGdVdW„dWƒZmGdXdY„dYƒZnGdZd[„d[ƒZoGd\d]„d]ƒZpGd^d_„d_ƒZqGd`da„daƒZrGdbdc„dcƒZsGddde„deƒZtGdfdg„dgƒZuGdhdi„diƒZvGdjdk„dkƒZwGdldm„dmƒZxGdndo„doƒZyGdpdq„dqƒZzGdrds„dsƒZ{Gdtdu„duƒZ|dS)xéN©ÚFraction)Úarrays)Úma) Úassert_Ú assert_equalÚassert_array_equalÚassert_almost_equalÚassert_array_almost_equalÚ assert_raisesÚassert_allcloseÚIS_PYPYÚ assert_warnsÚassert_raises_regexÚsuppress_warningsÚ HAS_REFCOUNTÚIS_WASM)Úrand) Úadd_newdoc_ufuncÚangleÚaverageÚbartlettÚblackmanÚcorrcoefÚcovÚdeleteÚdiffÚdigitizeÚextractÚflipudÚgradientÚhammingÚhanningÚi0ÚinsertÚinterpÚkaiserÚmeshgridÚmsortÚ    piecewiseÚplaceÚrot90ÚselectÚsetxor1dÚsincÚtrapzÚ
trim_zerosÚunwrapÚuniqueÚ    vectorize)Únormalize_axis_tuplecCst |¡}tj ||¡}|S©N)ÚnpÚarangeÚaddÚouter)ÚnÚdata©r<úYd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/lib/tests/test_function_base.pyÚget_mats
r>cCs(t t ||¡jtj¡}||_||_|S)za
    Like real + 1j * imag, but behaves as expected when imag contains non-finite
    values
    )r6ÚzerosÚ    broadcastÚshapeÚcomplex_ÚrealÚimag)rCrDÚretr<r<r=Ú _make_complex%srFc@s$eZdZdd„Zdd„Zdd„ZdS)Ú    TestRot90cCs¤tttt d¡ƒtttt d¡ddtttt d¡ddtttt d¡ddtttt d¡ddd    d
d gd dd gg}d d gd
dgd    d gg}d dd gd d
d    gg}d d    gdd
gd d gg}d    d
d gd dd gg}tdddƒD]}tt||d|ƒqÞtdddƒD]}tt||d|ƒqtdddƒD]}tt||d|ƒq(td    ddƒD]}tt||d|ƒqNttt|dddd|ƒtt|d
ddt|dddƒdS)Né©érJrJ©rérJ©Úaxes©rJrJ©rrJ©rLrL)éþÿÿÿrLrrLrJéééýÿÿÿé )ÚkrRéÿÿÿÿ©rrL©rLr©rWrN)r Ú
ValueErrorr+r6ÚonesÚranger)ÚselfÚaZb1Zb2Zb3Zb4rWr<r<r=Ú
test_basic1s@ÿþÿþÿzTestRot90.test_basiccCsRt d¡}tt|ƒjdƒtt|ddt|ddƒtt|ddt|ddƒdS)N)é2é(rS)rcrbrSrPrM©rrX©rLrJ©rRrX)r6r]rr+rA©r_r`r<r<r=Ú    test_axesQs
zTestRot90.test_axescCsüt d¡ d¡}ddgddggddgd    d
ggg}ddgddggd
dgd    dggg}d    dgddggd
dgddggg}d    d
gddggddgddggg}tt|d d |ƒtt|d d |ƒtt|dd |ƒtdd
ƒD]&}tt||ddt||dddƒqÐdS)NérIrJrSéérrLrHrTrYrMrZre)rJrr[)r6r7Úreshaperr+r^)r_r`Z
a_rot90_01Z
a_rot90_12Z
a_rot90_20Z
a_rot90_10rWr<r<r=Útest_rotation_axesWsHÿÿþÿÿþÿÿþÿÿþÿzTestRot90.test_rotation_axesN)Ú__name__Ú
__module__Ú __qualname__rarhrmr<r<r<r=rG0s rGc@sTeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dS)ÚTestFlipcCslttjtjt d¡ddttjtjt d¡ddttjtjt d¡ddttjtjt d¡dddS)NrHrL©Úaxis©rHrHrJrU©rrS)r r6Ú    AxisErrorÚflipr]©r_r<r<r=rhvszTestFlip.test_axescCsntdƒ}|dd…ddd…f}tt |d¡|ƒdddgdddgg}dddgdddgg}tt |d¡|ƒdS)NrHrXrLrrJrSrT©r>rr6rw©r_r`Úbr<r<r=Ú test_basic_lr|sÿÿzTestFlip.test_basic_lrcCsntdƒ}|ddd…dd…f}tt |d¡|ƒdddgdddgg}dddgdddgg}tt |d¡|ƒdS)NrHrXrrLrJrSrTryrzr<r<r=Ú test_basic_ud†sÿÿzTestFlip.test_basic_udcCsbt ddgddggddgddggg¡}t ddgddggddgddggg¡}tt |d¡|ƒdS©    NrrLrJrSrHrTrjrk©r6Úarrayrrwrzr<r<r=Útest_3d_swap_axis0s
ÿÿþ
ÿÿþzTestFlip.test_3d_swap_axis0cCsbt ddgddggddgddggg¡}t ddgddggddgddggg¡}tt |d¡|ƒdSr~rrzr<r<r=Útest_3d_swap_axis1s
ÿÿþ
ÿÿþzTestFlip.test_3d_swap_axis1cCsbt ddgddggddgddggg¡}t ddgddggddgddggg¡}tt |d¡|ƒdSr~rrzr<r<r=Útest_3d_swap_axis2ªs
ÿÿþ
ÿÿþzTestFlip.test_3d_swap_axis2c    CsRt d¡ dddd¡}t|jƒD],}tt ||¡t | d|¡¡ |d¡ƒq dS)NéxrJrSrHrTr)    r6r7rlr^ÚndimrrwrÚswapaxes)r_r`Úir<r<r=Útest_4d·s
 ÿzTestFlip.test_4dcCsHt dddgdddgg¡}t dddgdddgg¡}tt |¡|ƒdS)NrLrJrSrHrTrjrrzr<r<r=Útest_default_axis½s ÿ ÿzTestFlip.test_default_axiscCs²t ddgddggddgddggg¡}ttj|d    d
|ƒt ddgddggddgddggg¡}ttj|d d
|ƒt ddgddggddgddggg¡}ttj|d d
|ƒdS) NrrLrJrSrHrTrjrkr<rrrPrer©r_r`r{Úcr<r<r=Útest_multiple_axesÄs0
ÿÿþ
ÿÿþ
ÿÿþzTestFlip.test_multiple_axesN) rnrorprhr|r}rr‚rƒrˆr‰rŒr<r<r<r=rqts
 
   rqc@seZdZdd„Zdd„ZdS)ÚTestAnycCsTddddg}ddddg}ddddg}tt |¡ƒtt |¡ƒtt |¡ ƒdS©NrrL)rr6Úany©r_Úy1Úy2Úy3r<r<r=raÝs    zTestAny.test_basiccCsbdddgdddgdddgg}tt |¡ƒttj|dddddgƒttj|dddddgƒdS©NrrLrr)rr6rrZsometrue©r_r‘r<r<r=Útest_ndåszTestAny.test_ndN©rnrorprar–r<r<r<r=rÛsrc@seZdZdd„Zdd„ZdS)ÚTestAllcCslddddg}ddddg}ddddg}tt |¡ ƒtt |¡ƒtt |¡ ƒtt t |¡¡ƒdSrŽ)rr6Úallr€rr<r<r=raîs   zTestAll.test_basiccCsddddgdddgdddgg}tt |¡ ƒttj|dddddgƒttj|dddddgƒdSr”)rr6r™rZalltruer•r<r<r=r–÷szTestAll.test_ndNr—r<r<r<r=r˜ìs    r˜c@s$eZdZdd„Zdd„Zdd„ZdS)ÚTestCopycCsRt ddgddgg¡}t |¡}t||ƒd|d<t|ddƒt|ddƒdS)NrLrJrSrHé
)rr)r6r€Úcopyrr)r_r`Úa_copyr<r<r=ras 
 
zTestCopy.test_basiccCs°t ddgddgg¡}t|jjƒt|jj ƒtjddgddggdd}t|jj ƒt|jjƒt |¡}t|jjƒt|jj ƒt |¡}t|jj ƒt|jjƒdS)NrLrJrSrHÚF©Úorder)r6r€rÚflagsÚ c_contiguousÚ f_contiguousrœ)r_r`Za_fortrZ a_fort_copyr<r<r=Ú
test_orders  
 
zTestCopy.test_ordercCsVt d¡}tt tj|dd¡ ƒtt tj|dd¡ƒtt t |¡¡ ƒdS)NrTF)ZsubokT)rr]rZ isMaskedArrayr6rœ)r_Zmxr<r<r=Ú
test_suboks
zTestCopy.test_subokN)rnrorprar¤r¥r<r<r<r=ršþsršc @s´eZdZdd„Zej ddddgddgdd    dgd
gd gfddd gdd dggdddd ggddgdddggd    d    d    ggfg¡dd„ƒZdd„Zdd„Z    dd„Z
dd„Z dd„Z d d!„Z dS)"Ú TestAveragecCsæt dddg¡}tt|dddkƒt dddg¡}tt|dddkƒd    d    d    g}tt|ddd    kƒt d
¡}d|d <d|d <t| d¡t|dƒƒt| d¡t|dƒƒtd d ƒ}t| d¡t|dƒƒt| d¡t|dƒƒdS)NrLrJrSrrrç@çð?ç@çrtrYrZrT)r6r€rrr]r    Úmeanr)r_r‘r’r“Zy4Zy5r<r<r=ra#s
 
 
zTestAverage.test_basicz<x, axis, expected_avg, weights, expected_wavg, expected_wsumrLrJrSNr§rHçü?ç @rTrjé rr¨ç@ç@ç#@c
Cs¶tj||dd}|jt |¡ks$t‚t||ƒtj|||dd}|jt |¡ksTt‚t||ƒtj|||ddd\}}    |jt |¡ksŠt‚t||ƒ|    jt |¡ks¨t‚t|    |ƒdS)NT©rsÚkeepdims)rsÚweightsr³)rsr´Úreturnedr³)r6rrAÚAssertionErrorr)
r_ÚxrsZ expected_avgr´Z expected_wavgZ expected_wsumÚavgZwavgZwsumr<r<r=Útest_basic_keepdims5s
 
 ÿ
 
zTestAverage.test_basic_keepdimsc Csât d¡}t d¡}t||d}t d¡d ¡dt d¡ ¡}t||ƒt dddgddd    gg¡}ddg}t||d
d }t d d dg¡}t||ƒd
d
dg}t||dd }t d dg¡}t||ƒd
d
dgd
d
dgg}t d dg¡}tt||dd |ƒtt||ddƒtdƒ     tj
¡}    tdƒ     tj ¡}
t tj|    |
dj t |    |
¡kƒt dddg¡ dd¡} t ddd    g¡ dd¡}tj| |ddd}t dd d g¡}t||ƒtj| |ddd}t dgd gd gg¡}t||ƒdS)Nr›©r´rJr¨rLrSrHrTrjr)r´rsr©r¯r°ç@F)r´rsr³r§T)r6r7rÚsumr    r€rrrÚastypeÚfloat32Úfloat64rÚdtypeÚ result_typerl) r_ÚyÚwÚactualZdesiredr‘Úw0Úw1Úw2r“Zw3r·r<r<r=Ú test_weightsLs:
 
 $
 
 
 
 
zTestAverage.test_weightscCs&t dddgdddgg¡}t|dd\}}t|d    ƒt|d
dd\}}t|t d d d g¡ƒt|ddd\}}t|t d d g¡ƒddg}t||d
dd \}}t|t d d d g¡ƒdddg}t||ddd \}}t|t d    d    g¡ƒd
d
dgdddgg}t||ddd \}}t|t dd    g¡ƒdS)NrLrJrSrHrTrjT)rµr»rr§r©)r´rsrµr¨)r6r€rrr)r_rÂr¸ZsclrÅrÆrÇr<r<r=Ú test_returnedxs 
 
zTestAverage.test_returnedcCszGdd„dtjƒ}t ddgddgg¡ |¡}t ddgddgg¡ |¡}ttt |¡ƒ|ƒtttj||dƒ|ƒdS)Nc@s eZdZdS)z-TestAverage.test_subclasses.<locals>.subclassN©rnrorpr<r<r<r=Úsubclass“srËrLrJrSrHrº)r6Úndarrayr€ÚviewrÚtyper)r_rËr`rÃr<r<r=Útest_subclasses’s
zTestAverage.test_subclassescCsrdddddg}|D]Z\}}}tjddgdd    gg|d
}tjddgdd    gg|d
}ttj||d jt |¡ƒqdS) N)Úi4rÐÚf8)rÐÚf4rÑ)rÒrÐrÑ)rÒrÒrÒ)rÒrÑrÑrLrJrSrH©rÀrº)r6r€rrrÀ)r_ZtypsÚatÚwtÚrtr`rÃr<r<r=Útest_upcasting›sÿzTestAverage.test_upcastingcCsXt dd„tdƒDƒ¡}t dd„tdƒDƒ¡}|| ¡}t| d¡t||dƒdS)NcSsg|]}t |¡‘qSr<©ÚdecimalÚDecimal)Ú.0r·r<r<r=Ú
<listcomp>¤sz1TestAverage.test_object_dtype.<locals>.<listcomp>r›cSsg|]}t d¡‘qS©rLrØ)rÛÚ_r<r<r=rÜ¥srrº)r6r€r^r¼r    r«r)r_r`rÃr<r<r=Útest_object_dtype£s zTestAverage.test_object_dtypecCs4t tddƒtddƒg¡}tt |¡tddƒƒdS)NrLrTrSrJ)r6r€rrrrgr<r<r=Ú test_average_class_without_dtype©sz,TestAverage.test_average_class_without_dtype)rnrorpraÚpytestÚmarkÚ parametrizer¹rÈrÉrÏr×rßràr<r<r<r=r¦!s$ 
 
ÿÿþ
,    r¦c@s¢eZdZe dddg¡e dddg¡e ddd    g¡gZe d
d
d
g¡e d
d d
g¡e d
d
d g¡gZdd d„Zdd„Zdd„Z    dd„Z
dd„Z dd„Z dd„Z dS)Ú
TestSelectrLrJrSrHrTrjrkrié    FTrcs<g}tt|ƒƒD]&‰|‡fdd„t||ƒDƒp2|g7}q|S)Ncs g|]\}}|ˆr|ˆ‘qSr<r<)rÛÚVÚC©Úmr<r=rܹsz&TestSelect._select.<locals>.<listcomp>)r^ÚlenÚzip)r_ZcondÚvaluesÚdefaultÚoutputr<rèr=Ú_select¶s$zTestSelect._selectcCsL|j}|j}tt||dd|j||ddƒtt|ƒdƒtt|ƒdƒdS)Né©rírS)ÚchoicesÚ
conditionsrr,rïrrê©r_ròrór<r<r=ra¼sÿzTestSelect.test_basiccCsft d¡t dddg¡g}dt d¡ dd¡g}tt||ƒt d¡ƒttdgdgdgd    jd
ƒdS) NTFrLé rHrS©rHrSrrñrÝ)    r6r€r7rlrr,r]rrA©r_róròr<r<r=Útest_broadcastingÅszTestSelect.test_broadcastingcCsˆtt|j|jdƒjtjƒdd„|jDƒ}tt|j|ƒjtjƒt dddtj    ddg¡}t 
|¡}tt|g|gƒd    d    d    tj    d    d    gƒdS)
Nùð?cSsg|]}| tj¡‘qSr<)r½r6Úint8)rÛÚchoicer<r<r=rÜÑsz0TestSelect.test_return_dtype.<locals>.<listcomp>rLrJrSrTrkr) rr,róròrÀr6rBrúr€ÚnanÚisnan)r_ròÚdrér<r<r=Útest_return_dtypeÌsÿ
zTestSelect.test_return_dtypecCs"tttggdƒtttggƒdS)Nù@)r r\r,rxr<r<r=Útest_deprecated_emptyØsz TestSelect.test_deprecated_emptycCsj|j}|jdd…}|d tj¡|d<ttt||ƒ|d tj¡|d<ttt||ƒttt||ƒdS©Nr)    ròrór½r6Úint_r Ú    TypeErrorr,Úuint8rôr<r<r=Útest_non_bool_deprecationÜsz$TestSelect.test_non_bool_deprecationcCs2t dg¡gd}t dg¡gd}t||ƒdS)NFédrL)r6r€r,r÷r<r<r=Útest_many_argumentsåszTestSelect.test_many_argumentsN)r)rnrorpr6r€ròrórïrarørÿrrrr<r<r<r=rä®sþþ
         räc@s^eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    e
j   dddg¡dd„ƒZ dS)Ú
TestInsertc
Csªdddg}tt|ddƒddddgƒtt|ddƒddddgƒtt|dddgdddgƒddddddgƒtt|ddddgƒddddddgƒtt|dddgdƒddddddgƒtt|tdddƒdƒddddddgƒtt|dddgdddgƒddddddgƒtjddgtjd    }tt|d|dƒd
d
d gƒtt|ggƒ|ƒtjd d R}t ddt    ¡tt|t d gd¡dƒdddddddgƒt
|dj t    kƒW5QRXdS)NrLrJrSrrXrårkrirÓrªr¨T©ÚrecordÚalwaysÚrH) rr$Úslicer6r€r¿ÚwarningsÚcatch_warningsÚfilterwarningsÚ FutureWarningrÚcategory)r_r`r{rÃr<r<r=raîs$
*$$&*ÿzTestInsert.test_basicc
Cs’dddgg}dddgdddgg}tt|ddgƒddddgƒtt|ddddgdd|ƒtt|dddd|ƒtt|ddddddddggƒt ddgddgddgg¡}t dd¡ d¡ dd¡}tj|dd…dd…ft dd¡ d¡ dd¡j|dd…dd…ffdd}tt|dgdgdgdggdd|ƒtt|dgdddgdd|ƒtt|ddddgdd|ƒtt|ddgdgdggdd|ƒt d¡ dd¡}tt|dd…dd…fd|dd…dfdd|ƒtt|dd…dd…fd|ddd…fdd|ƒt d¡ d¡}tt|d|dd…dd…dfd    dt|d|dd…dd…dfddƒtt|d|dd…ddd…fd
dt|d|dd…ddd…fddƒt    tj
t|d|dd…ddd…fddt    tj
t|d|dd…ddd…fd dt d¡ d¡}tt|d|dd…dd…dfd    dt|d|dd…dd…dfddƒtt|d|dd…ddd…fd
dt|d|dd…ddd…fddƒdS) NrLrJrrrrSrHé©rJrSrHrXrRéüÿÿÿ) rr$r6r€r7ÚrepeatrlZ concatenateÚTr rv)r_r`Úrr{r‹r<r<r=Ú test_multidimsN ÿ ,ÿþ$"22" ÿ" ÿ((" ÿ" ÿzTestInsert.test_multidimc    Cs\t d¡}t tj¡t|gdddW5QRXt t¡t|gdddW5QRXdS)NrLrJrrrÚnonsense)r6r€ráÚraisesrvr$rrgr<r<r=Útest_0d,s
 
 zTestInsert.test_0dc    CsäGdd„dtjƒ}t d¡ |¡}ttt |ddg¡|ƒƒttt |gg¡|ƒƒttt |ddgddg¡|ƒƒttt |tddƒddg¡|ƒƒttt |tdddƒg¡|ƒƒt d¡ |¡}ttt |ddg¡|ƒƒdS)    Nc@s eZdZdS)z*TestInsert.test_subclass.<locals>.SubClassNrÊr<r<r<r=ÚSubClass4srr›rrLrJrRrX)    r6rÌr7rÍrÚ
isinstancer$rr€©r_rr`r<r<r=Ú test_subclass3s " zTestInsert.test_subclasscCsDt dddg¡}t dddg|dddg¡t|t dddg¡ƒdS)NrLrrJrSrHrT)r6r€r$r©r_r·r<r<r=Útest_index_array_copied@sz"TestInsert.test_index_array_copiedcCs‚tjdddgddgd}d}t |d|¡}t|dtj||jdƒdgd    }t |dd    g|¡}t|dd
gtj||jdƒdS) N)rLr`)rJr{)rSr‹)Úfoor‡)ÚbarÚa1rÓ)rHrþrrJrS)r6r€r$rrÀ)r_r`Úvalr{r<r<r=Útest_structured_arrayEs ÿ
z TestInsert.test_structured_arrayc    Cspt t¡(t dddgt ddg¡ddg¡W5QRXt t¡$t dddgtjgtdg¡W5QRXdS)    NrrLrJr¨r§r›érÓ)rárÚ
IndexErrorr6r$r€Úfloatrxr<r<r=Útest_index_floatsOs , zTestInsert.test_index_floatsÚidxrHrc    Cs8tjtdd t dddg|gddg¡W5QRXdS)Nz out of bounds©ÚmatchrrLrJrSrH)rárr*r6r$)r_r-r<r<r=Útest_index_out_of_boundsUsz#TestInsert.test_index_out_of_boundsN)rnrorprarrr!r#r(r,rárârãr0r<r<r<r=r    ìs* 
r    c@seZdZdd„ZdS)ÚTestAmaxcCsvdddddddg}tt |¡dƒddd    gddd
gd d d gg}ttj|ddddd    gƒttj|ddd    ddgƒdS)NrSrHrTr›rUéûÿÿÿr»ç$@ç"@r°rir©r§rrrr­rL)rr6Zamaxrzr<r<r=ra]sþzTestAmax.test_basicN©rnrorprar<r<r<r=r1[sr1c@seZdZdd„ZdS)ÚTestAmincCsvdddddddg}tt |¡dƒddd    gdd
d gd d dgg}ttj|ddd d dgƒttj|ddd ddgƒdS)NrSrHrTr›rUr2r»gÀr4r3r°rir©r§rrrrLr¯)rr6Zaminrzr<r<r=raisþzTestAmin.test_basicNr5r<r<r<r=r6gsr6c@seZdZdd„ZdS)ÚTestPtpc    Cs´t dddddddg¡}t|jdd    d
ƒt ddd gdd d gdddgg¡}t|jdd    d ddgƒt|jdd    dddgƒt|jdddd ddggƒt|jddddggƒdS)NrSrHrTr›rUr2r»rrrç.@r4r3r°rir©r§ç@rXTr²rYr­)r6r€rZptprzr<r<r=raus þzTestPtp.test_basicNr5r<r<r<r=r7ssr7c@seZdZdd„ZdS)Ú
TestCumsumc
Cs,dddddddg}ddddgddd    d
gddddgg}tjtjtjtjtjtjtjtjtj    tj
f
D]Æ}t  ||¡}t  ||¡}t  ddd d d ddg|¡}t tj |dd|ƒt  ddddgdddd gddddgg|¡}t tj |dd|ƒt  ddddgddddgdd ddgg|¡}t tj |dd|ƒq`dS)NrLrJr›r®rjrTrHrSrkrårVréé#é'rrrriéééééé)r6rúrÚint16Úuint16Úint32Úuint32r¾r¿Ú    complex64Ú
complex128r€rÚcumsum)r_ÚbaÚba2Úctyper`Úa2Útgtr<r<r=ra„s."þ   ÿ ÿzTestCumsum.test_basicNr5r<r<r<r=r:‚sr:c@seZdZdd„ZdS)ÚTestProdc    Csödddddddg}ddddgddd    d
gddddgg}tjtjtjtjtjtjtjtjfD]˜}t     ||¡}t     ||¡}|d krœt
t tj |ƒt
t tj |dƒqXt |j d d dƒt|j d d t     ddddg|¡ƒt|j dd t     dddg|¡ƒqXdS)NrLrJr›r®rjrTrHrSrkrå©Ú1r{rrré grbé$éTé´rXrébéX)r6rDrErFrGr¾r¿rHrIr€r ÚArithmeticErrorÚprodrr©r_rKrLrMr`rNr<r<r=ra›s("ÿ   ÿ ÿzTestProd.test_basicNr5r<r<r<r=rP™srPc@seZdZdd„ZdS)Ú TestCumprodc CsNdddddddg}ddddgddd    d
gddddgg}tjtjtjtjtjtjtjtjfD]ð}t     ||¡}t     ||¡}|d krªt
t tj |ƒt
t tj |dƒt
t tj |ƒqXt tj |d d t     dddddddg|¡ƒt tj |dd t     ddddgddddgddddgg|¡ƒt tj |d d t     ddddgddddgddddgg|¡ƒqXdS) NrLrJr›r®rjrTrHrSrkrårQrXrrr)éÜi(iÈrSrrõérTrbrUrVrr;éÒrWr„rX)r6rDrErFrGr¾r¿rHrIr€r rYZcumprodrr[r<r<r=ra¯sN"ÿ   ÿÿÿ
 
þþÿ
 
þþÿzTestCumprod.test_basicNr5r<r<r<r=r\­sr\c@sLeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dS)ÚTestDiffcCsìdddddg}t ddddg¡}t d    d    dg¡}t d
dg¡}tt|ƒ|ƒtt|dd |ƒtt|dd |ƒd d dddg}t d dddg¡}tt|ƒ|ƒddddg}t dddg¡}t ddg¡}tt|ƒ|ƒtt|dd |ƒdS)NrLrHrjrkrõrSrJrTrXr©r:皙™™™™ñ?皙™™™™@r©gš™™™™™É¿çš™™™™™¹¿gš™™™™™é?gš™™™™™    À皙™™™™¹?TF)r6r€rrr    )r_r·ÚoutÚout2Úout3r<r<r=raÊs zTestDiff.test_basiccCsöt d¡}d|dd…ddd…dd…f<t d¡}d|dd…ddd…dd…f<tt|ƒt d¡ƒtt|ddt d¡ƒtt|ddt d    ¡ƒtt|dd|ƒtt|d
d|ƒttjt|d dttjt|d dt d tj¡}tt    t|ƒdS)N)r›r)r;rLrJ)r›ér;rX)r›r)érrr)rår)r;rRrSrgæÇqÇñ?)
r6r?r]rrr rvr€r¿r\)r_r·Úexpr<r<r=Ú    test_axisÝs
 
zTestDiff.test_axiscCs*dtdddƒ}|dd…dd…dd…f|dd…dd…dd…f}|dd…dd…dd…f|dd…dd…dd…f}|dd…dd…dd…f|dd…dd…dd…f}|dd…dd…dd…f|dd…dd…dd…f}tt|ƒ|ƒtt|dd|ƒtt|dd    |ƒtt|ddd
|ƒdS) Nr)r›r;rLrXrJrarrr)r:rs)rrr)r_r·Zout1rgrhZout4r<r<r=r–ís4444zTestDiff.test_ndcsÄttdƒƒ‰tttˆdd‡fdd„tddƒDƒ}ddgdgggg}ttˆddˆkƒtt||ƒdd    D]R\}\}}tt|ƒt    j
kƒt ||ƒt |j t    jƒt t|ƒtdtˆƒ|ƒƒqldS)
NrSrXracsg|]}tˆ|d‘qS)ra)r)rÛr:©r·r<r=rÜûsz#TestDiff.test_n.<locals>.<listcomp>rLrTr©Ústart)Úlistr^r r\rrÚ    enumeraterërÎr6rÌrrrÀrrêÚmax)r_rîÚexpectedr:rfr<rmr=Útest_nøs 
zTestDiff.test_ncCsŒtjddtjd}tjddgddtjdgddg}| tjgddgd¡t|ddD],\}}t||d    }t||ƒt|j    |j    ƒqZdS)
Nz
1066-10-13z
1066-10-16rÓrLútimedelta64[D]rrSrnra)
r6r7Z
datetime64r€ÚextendrqrrrrÀ)r_r·rsr:rkrfr<r<r=Ú
test_timessþ 
zTestDiff.test_timescCsötjddgddgddgddgd    d
ggd d gd d gd d gd d gd d ggd }t|ƒ}t|jdgdgdgdgdggƒt|jd gd gd gd gd ggƒtt|ƒt|ƒkƒt|dd}t|jggggggƒt|jggggggƒtt|ƒt|ƒkƒdS)NrLrJrSrHrTrjrkrirår›FT©Úmaskra)rr€rrr;ryrrÎ)r_r·rfrhr<r<r=r!s&$ ÿÿ ÿ zTestDiff.test_subclasscCsNt d¡d}tt|ddt d¡ƒtt|dgdt d¡ƒtt tj|dd¡|ƒtt|ddgdt d¡ƒt d¡ dd¡}tj|ddd    }ddgddgg}t||ƒtj|ddgdggd    }t||ƒtj|ddd    }ddgddgg}t||ƒtj|dddggd    }t||ƒtttj|t     d
¡dttj
t|dd d dS) NrTrLr)ÚprependrXrjrHrJ)rsrz©rSrSrS)rzrs) r6r7rrr]rJrlr r\r?rv©r_r·Úresultrsr<r<r=Ú test_prepends$
 
 
 
zTestDiff.test_prependcCsBt d¡}t|dd}dddddg}t||ƒt|dgd}t||ƒt|ddgd}|dg}t||ƒt d¡ dd¡}tj|ddd}dd    gdd
gg}t||ƒtj|ddgdggd}t||ƒtj|ddd}ddgd d
gg}t||ƒtj|dddggd}t||ƒtttj|t d ¡dttjt|dd ddS)NrTr)ÚappendrLrrJrH)rsrrXrUrRr{rS)rrs)    r6r7rrrlr r\r?rvr|r<r<r=Ú test_append7s,
 
 
 
 
 
 
 
 
zTestDiff.test_appendN) rnrorprarlr–rtrwr!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 e j  de dg¡dgg¡dd„ƒZdd„ZdS)Ú
TestDeletecCs,t d¡|_t d¡ d¡ ddd¡|_dS)NrTrJrL)r6r7r`rrlÚnd_arxr<r<r=Ú setup_methodVs zTestDelete.setup_methodcCsˆt|j|ƒ}t|j|dd}d|}tt||j|fƒ|j|dt|ddd…df|jd|dfƒ}t||jddd…df|ddS)NrLrrzDelete failed for obj: %r)Úerr_msgr)rr`r‚rr-)r_ÚindicesÚa_delÚnd_a_delÚmsgÚxorr<r<r=Ú_check_inverse_of_slicingZs ÿ$z$TestDelete._check_inverse_of_slicingcCsVdddddddg}dd    dd
g}|D].}|D]$}|D]}t|||ƒ}| |¡q2q*q"dS) NéúÿÿÿrRrrLrJrHrTrUrXrS)rrŠ)r_ZlimsZstepsroÚstopÚstepÚsr<r<r=Ú test_slicescs  zTestDelete.test_slicesc    Csú| t ddgddgg¡¡t t¡t|jdgƒW5QRXt t¡t|jdgƒW5QRX| ddddg¡| dddddg¡t t¡t|jdƒW5QRXt t¡t|jdƒW5QRXt t¡t|jdgd    ƒW5QRXdS)
NrrLrJriœÿÿÿrXTFrH)    rŠr6r€rárr*rr`r\rxr<r<r=Ú
test_fancyls     zTestDelete.test_fancycCs| d¡| d¡dS)Nrr)rŠrxr<r<r=Ú test_singles
zTestDelete.test_singlec    CsXt d¡}t tj¡t|gddW5QRXt t¡t|gddW5QRXdS)NrLrrrr)r6r€rárrvrrrgr<r<r=r…s
 
 zTestDelete.test_0dcCs–Gdd„dtjƒ}|j |¡}ttt|dƒ|ƒƒttt|gƒ|ƒƒttt|ddgƒ|ƒƒttt|tddƒƒ|ƒƒttt|tddƒƒ|ƒƒdS)Nc@s eZdZdS)z*TestDelete.test_subclass.<locals>.SubClassNrÊr<r<r<r=rsrrrLrJrR)r6rÌr`rÍrrrrr r<r<r=r!Œs zTestDelete.test_subclasscCsRt d¡jdddd}t|tddƒdd}t|jj|jjƒt|jj|jjƒdS)    Nr›rJrTržrŸé<rLrr)    r6r7rlrrrr¡r¢r£)r_rWrér<r<r=Útest_array_order_preserve–sz$TestDelete.test_array_order_preservec    Csht t¡"t dddgt ddg¡¡W5QRXt t¡"t dddgtjgtd¡W5QRXdS)NrrLrJr¨r§rÓ)rárr*r6rr€r+rxr<r<r=r, s & zTestDelete.test_index_floatsÚindexerrLcCsXt|jdƒ}t|j|ƒ}t||ƒt|jddd}t|jt dg¡dd}t||ƒdS)NrLrr)rr`rr‚r6r€)r_r”Z    a_del_intr†Z nd_a_del_intr‡r<r<r=Útest_single_item_array¦s   
z!TestDelete.test_single_item_arrayc    Csútt d¡t dg¡ƒ}t|t d¡ƒt d¡}tjdgtd}tjdgtd}t||dd}t||ƒt||dd}t||dd…dd…fƒt t¡"tt d    ¡tjdgt    dƒW5QRXt t¡"tt d    ¡tjdgd
dƒW5QRXdS) NrLF)rSrLrÓTrXrrrrJzm8[ns])
rr6r]r€rÚboolrárr*Úobject)r_Úresr·Z
false_maskZ    true_maskr<r<r=Útest_single_item_array_non_int°s
 
 & z)TestDelete.test_single_item_array_non_intN)rnrorprƒrŠrrr‘rr!r“r,rárârãr6r€r•r™r<r<r<r=rTs        
 
 
    rc@süeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dd„Z dd„Z ej dejejejejg¡dd„ƒZej dejejejejg¡dd„ƒZej dejejejejg¡dd„ƒZej dejejejejg¡dd „ƒZd!S)"Ú TestGradientcCsfddgddgg}t |¡}t ddgddgg¡t ddgddgg¡g}tt|ƒ|ƒtt|ƒ|ƒdS)NrLrSrHr§r©rªr¨)r6r€rr ©r_Úvr·Údxr<r<r=raËs
ÿzTestGradient.test_basicc    CsÌt t d¡¡}dddddg}t d¡ dd¡}tt d¡dƒtt d¡t d¡ƒtt d¡|ƒt|d    ƒt|t d    ¡ƒt|||ƒt||d
ƒt||d d ttd t|tj    |gd
dd d ƒdS)NrTr¨r§r°r4ç&@ér©çø?rJrLrrz.*scalars or 1drX)
r6rJr]r7rlr r€rr\Ústack)r_rZ    dx_unevenÚf_2dr<r<r=Ú    test_argsÓs"
  ÿzTestGradient.test_argscCsÚt d¡ dd¡}t t d¡¡}ttt||t d¡ƒttt|dt d¡ƒttt|t d¡t d¡ƒttt||ƒttt||ddttt||||ƒttt|dddƒttt|||ddttt|dddddS)NrŸrTrJrLrYrr)    r6r7rlrJr]r r\r r)r_r¢r·r<r<r=Ú test_badargsìszTestGradient.test_badargscCs^tjdddddddgdd    }tjd
d d d dddgdd    }tt|ƒ|ƒt|jt d¡kƒdS)Nz
1910-08-16z
1910-08-11z
1910-08-10z
1910-08-12z
1910-10-12z
1910-12-12z
1912-12-12z datetime64[D]rÓr2rUréé=iŒiÛru©r6r€rr rrÀ©r_r·rr<r<r=Útest_datetime64üsÿýþzTestGradient.test_datetime64cCs–tjjddgddggddgddggd}t|ƒd}tt|ƒt|ƒƒt|j|jk    ƒtj d¡}tjj    |d<tj|dd    t
|j ddd
ddgƒdS) NrLrSrHFrxrrTrJ©Ú
edge_orderT) r6rr€r rrÎrZ_maskr7Úmaskedrry)r_r·rfÚx2r<r<r=Ú test_maskedsÿ   zTestGradient.test_maskedcCst ddd¡}|d|d}d|dd|dd|}d|dd|d}t tj||dd    |d¡}tt |d
k¡d kƒtj d¡t tj d¡¡}d|dd|dd|}d|dd|d}t tj||dd    |d¡}tt |d
k¡d kƒdS) NrrLr›rJrSrHrjrirªg¸…ëQ¸ž?T)    r6ÚlinspaceÚabsr rr™ÚrandomÚseedÚsort)r_r·rrÂZ
analyticalZ    num_errorr<r<r=Útest_second_order_accurates   z'TestGradient.test_second_order_accuratec Cst ddddddg¡}t |d¡| dd¡}t d    d
d ddd g¡}t d ¡}t ddd d d
d    gd¡}t ddd d d
dgd¡}t dddd
dd    gd¡}t dddd
ddgd¡}d|fd|ffD]ä\}}    t|d d|d}
t|||d|d} t|||d|d} t|
| ƒt| | ƒt|
d|    jƒt|
d|    ƒt|d d|d}
t||d|d} t    |
j
| j
kƒt| |    jƒt|d d|d}
t||d|d} t    |
j
| j
kƒt| |    ƒq¾d|fd|ffD]Œ\}}    t|||d|d}
t|||d|d} t|
| ƒt|
d|    jƒt|
d|    ƒt||d|d}
t|
|    jƒt||d|d}
t|
|    ƒq´t|||ddd}
t|||ddd} t|
d| dƒt|
d| dƒt|
d|jƒt|
d|ƒt|||ddd}
t|||ddd} t|
d| dƒt|
d| dƒt|
d|jƒt|
d|ƒdS)Nrr§r©r¯r°)rjrLrXrLrªçà?r¨r9r»r ç@çà¿g333333û?çÐ?gпrJrY)rsr«rZ) r6r€Ztilerlr7r rr    rrrA) r_ÚfZx_unevenZx_evenZ fdx_even_ord1Z fdx_even_ord2Zfdx_uneven_ord1Zfdx_uneven_ord2r«Zexp_resÚres1Úres2Úres3r<r<r=Ú test_spacing+st
ÿÿ
 
  ÿÿ
 zTestGradient.test_spacingcCs@ddgddgg}t |¡}t ddgddgg¡t ddgddgg¡g}tt|dd    |dƒtt|dd    |dƒtt|d
d    |dƒtt|d d    |d|dgƒtt|dd    |d|dgƒtt|dd    t|ƒƒtt|d dd d    |dd|ddgƒttt|dd dd    ttjt|dd    ttjt|d d    dS)NrLrSrHr§r©rªr¨rrrrXrZrJrU)r6r€rr r    r rrvr›r<r<r=Útest_specific_axesks"
ÿÿzTestGradient.test_specific_axescCs^tjdddddddgdd    }tjd
d d d d ddgdd    }tt|ƒ|ƒt|jt d¡kƒdS)Nr2rUr›rõr¦iAé,rurÓrJrkrŸéšéwiëÿÿÿr§r¨r<r<r=Útest_timedelta64…sþþzTestGradient.test_timedelta64cCsFtjtjtjfD]0}tjdddg|d}tt|ƒjt |¡jƒqdS)NrLrJrSrÓ)    r6Úfloat16r¾r¿r€rr rÀr)r_Údtr·r<r<r=Útest_inexact_dtypessz TestGradient.test_inexact_dtypescCs–tt d¡ddtt d¡ddtttt d¡ddtttt d¡ddtttt d¡ddtttt d¡ddtttt d¡dddS)NrJrLrªrSr)r r6r7r r\rxr<r<r=Ú test_values–szTestGradient.test_valuesÚf_dtypecCs8tjdddddg|d}t|ƒ}t|dgt|ƒƒdS)NrTrHrSrJrLrÓrX©r6r€r rrê)r_rÇr¹Úgr<r<r=Útest_f_decreasing_unsigned_int¢sz+TestGradient.test_f_decreasing_unsigned_intcCsRt |¡j}t ddg¡}tjd|g|d}t||ƒ}t||ddgdƒdS)NrLrSrXrÓrJ)r6Úiinforrr€r r)r_rÇÚmaxintr·r¹Údfdxr<r<r=Útest_f_signed_int_big_jump©s
 
z'TestGradient.test_f_signed_int_big_jumpÚx_dtypecCsFtjdddg|d}t dddg¡}t||ƒ}t|dgt|ƒƒdS)NrSrJrLrÓrrHrRrÈ)r_rÏr·r¹rÍr<r<r=Útest_x_decreasing_unsigned²s
z'TestGradient.test_x_decreasing_unsignedcCsXt |¡j}t |¡j}tjd|g|d}t |ddg¡}t||ƒ}t|ddgƒdS)NrXrÓrJrrµ)r6rËÚminrrr€r r)r_rÏZminintrÌr·r¹rÍr<r<r=Útest_x_signed_int_big_jumpºs   
z'TestGradient.test_x_signed_int_big_jumpN)rnrorprar£r¤r©r®r´r½r¾rÂrÅrÆrárârãr6rrErGZuint64rÊrúrDrFÚint64rÎrÐrÒr<r<r<r=ršÉs> @  ÿ
ÿ
ÿ
ÿršc@seZdZdd„Zdd„ZdS)Ú    TestAnglec Cs¸dt d¡ddt d¡ddddddd    g}t|ƒ}t d
¡t d ¡d tjdtjtj dt d
¡ tjt d
¡g}t|d d}t |¡dtj}t||dƒt||dƒdS)Nùð?@rJr§rùrLrXù€ð¿ùð?Àyð¿@r©r¨rT)ÚdegrVr®)r6ÚsqrtrÚarctanÚpir€r
)r_r·rÂZyoÚzZzor<r<r=raÇs, ÿ
 
ý  zTestAngle.test_basiccCsŒtj ddt d¡ddg¡}tjj|d<tj t d¡dt d¡g¡}tjj|d<t|ƒ}tt|ƒt|ƒƒt|j    |j    ƒt||ƒdS)NrÕrLrJùð?ð?r©rr¨)
r6rr€rÙr¬rÚrrrÎry)r_r·rsrÄr<r<r=r!Ôs   zTestAngle.test_subclassN)rnrorprar!r<r<r<r=rÔÅs rÔc
@sÄeZdZe ddddddddg¡Ze e¡Ze e    ¡Z
e e ¡Z dd„Z dd    „Zd
d „Zd d „Zdd„Zdd„Zej de dddg¡e dddg¡e dddg¡g¡dd„ƒZdd„Zdd„ZdS)Ú TestTrimZerosrrLrJrSrHcsd}‡fdd„|DƒS)N)r`r{r‹rþc3s|]}tˆ|ƒVqdSr5)Úgetattr)rÛÚnamerxr<r=Ú    <genexpr>èsz'TestTrimZeros.values.<locals>.<genexpr>r<)r_Z
attr_namesr<rxr=rìæszTestTrimZeros.valuescCs6tjdd…}| ¡D]}t|ƒ}t|||ƒqdS)NrJrX©r6Ús_rìr0r©r_ÚslcÚarrr˜r<r<r=raês zTestTrimZeros.test_basiccCs:tjdd…}| ¡D]}t|dd}t|||ƒqdS)NrXr{©Ztrimrârär<r<r=Útest_leading_skipðs  zTestTrimZeros.test_leading_skipcCs:tjdd…}| ¡D]}t|dd}t|||ƒqdS)NrJržrçrârär<r<r=Útest_trailing_skipös  z TestTrimZeros.test_trailing_skipcCsZ| ¡D]L}tj||jd}t|dd}t|ƒdks8t‚t|dd}t|ƒdkst‚qdS)NrÓÚBrçrr¹)rìr6Z
zeros_likerÀr0rêr¶)r_Z_arrrærºr»r<r<r=Ú test_all_zeroüs    zTestTrimZeros.test_all_zerocCs t d¡}t|ƒ}t||ƒdSr)r6r?r0r©r_rær˜r<r<r=Útest_size_zeros
zTestTrimZeros.test_size_zerorælllcCs(tjdd…}t|ƒ}t|||ƒdS)NrLrJ)r6rãr0r)r_rærår˜r<r<r=Ú test_overflow szTestTrimZeros.test_overflowcCs&t dddg¡}t|ƒ}t||ƒdS©NrL)r6r€r0rrìr<r<r=Ú test_no_trimszTestTrimZeros.test_no_trimcCs t|j ¡ƒ}t|tƒst‚dSr5)r0r`Útolistrrpr¶)r_r˜r<r<r=Útest_list_to_listszTestTrimZeros.test_list_to_listN)rnrorpr6r€r`r½r+r{Úcomplexr‹r—rþrìrarèrérërírárârãrîrðròr<r<r<r=rÞßs(
 
 
 
þþ
rÞc@s$eZdZdd„Zdd„Zdd„ZdS)Ú
TestExtinsc    Cs>t dddddddg¡}t|dk|ƒ}t|dddddgƒdS)NrLrSrJ)r6r€rrrzr<r<r=ra"szTestExtins.test_basicc    s tttdddgddgddgƒt dddddd    d
g¡‰tˆdddddddgddd gƒtˆdddddd d
gƒtˆt d
¡gƒtˆt dd    ¡ƒtˆdddddddgd    d gƒtˆd    dd dd    d d gƒtt    d ‡fdd„ƒt ddg¡‰tˆddgdƒtˆddgƒdS)NrLrJrSTFrrHrTrirkrjråz!Cannot insert from an empty arrayc    stˆdddddddggƒSrŽ)r*r<©r`r<r=Ú<lambda>6óz'TestExtins.test_place.<locals>.<lambda>Z12Z34Ú9)
r rr*r6r€rr?r7rr\rxr<rõr=Ú
test_place's 
ÿzTestExtins.test_placecCsHtdƒ}|dk}| ¡}t||ƒ}t||dƒt|||ƒt||ƒdS)Nr›rµr)rrœrr*r)r_r`ryÚacr‹r<r<r=Ú    test_both=s
  zTestExtins.test_bothN)rnrorprarùrûr<r<r<r=rô srôr¨cCs|t |¡Sr5©ÚmathÚfloor©r·rÂr<r<r=Ú_foo1IsrrªcCs|t |¡|Sr5rü)r·rÂrÜr<r<r=Ú_foo2Msrc@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#dCdD„Z$dEdF„Z%dGS)HÚ TestVectorizecCs@dd„}t|ƒ}|ddddgdddd    gƒ}t|dddd
gƒdS) NcSs||kr||S||SdSr5r<©r`r{r<r<r=Ú addsubtractTsz.TestVectorize.test_simple.<locals>.addsubtractrrSrjrårLrTrkrJ©r3r©r_rr¹rr<r<r=Ú test_simpleSszTestVectorize.test_simplecCs8dd„}t|ƒ}|ddddgdƒ}t|ddd    d
gƒdS) NcSs||kr||S||SdSr5r<rr<r<r=r_sz.TestVectorize.test_scalar.<locals>.addsubtractrrSrjrårTrirLrHrrr<r<r=Ú test_scalar^szTestVectorize.test_scalarcCs0t ddd¡}tdd„ƒ}||ƒ}t||ƒdS)NrUrJi'cSs|Sr5r<rmr<r<r=rökr÷z*TestVectorize.test_large.<locals>.<lambda>)r6r¯r3r)r_r·r¹rÂr<r<r=Ú
test_largeis zTestVectorize.test_largecCsRttjƒ}t ddtjtjdtjdtjg¡}||ƒ}t |¡}t||ƒdS)Nrrµr rJ)r3rýÚcosr6r€rÛr
)r_r¹ÚargsÚr1Úr2r<r<r=Ú
test_ufuncos
 
(
zTestVectorize.test_ufunccCslddd„}t|ƒ}t dddg¡}||ƒ}t dddg¡}t||ƒ||dƒ}t dddg¡}t||ƒdS)    NrLcSs||Sr5r<rr<r<r=r$xsz(TestVectorize.test_keywords.<locals>.foorJrSrHrT)rL©r3r6r€r©r_r$r¹r r r r<r<r=Ú test_keywordsvs
 
 
zTestVectorize.test_keywordscCs:tttgd}|t d¡dƒ}|t d¡ƒ}t||ƒdS©N©Úotypesr©r¨©r3rr+r6r7r©r_r¹r r r<r<r=Ú test_keywords_with_otypes_order1„sz.TestVectorize.test_keywords_with_otypes_order1cCs:tttgd}|t d¡ƒ}|t d¡dƒ}t||ƒdSrrrr<r<r=Ú test_keywords_with_otypes_order2Žsz.TestVectorize.test_keywords_with_otypes_order2cCsTtttgd}|t d¡ƒ}|t d¡dd}|t d¡ƒ}t||ƒt||ƒdS)Nrr©r¨©rÂr©r_r¹r r Zr3r<r<r=Ú test_keywords_with_otypes_order3™s 
z.TestVectorize.test_keywords_with_otypes_order3cCsdtttgd}|ddd}|ddd}|dƒ}t|tdddƒt|tdddƒt|tdƒƒdS)NrçÍÌÌÌÌÌ$@r)rÜrXr©r3rr+rrr<r<r=Ú+test_keywords_with_otypes_several_kwd_args1¥s  z9TestVectorize.test_keywords_with_otypes_several_kwd_args1cCsRtttgd}|dddd}|dddƒ}t|tddddƒt|tdddƒƒdS)    NrrrrX)rÜr·rÂrLrJrSrrr<r<r=Ú+test_keywords_with_otypes_several_kwd_args2²s
 z9TestVectorize.test_keywords_with_otypes_several_kwd_args2cCs6ddl}zt|jƒWntk
r0tƒ‚YnXdSr)r±r3Ú    randrangeÚ    Exceptionr¶)r_r±r<r<r=Útest_keywords_no_func_code½s
z(TestVectorize.test_keywords_no_func_codecCs†d dd„}t|ƒ}t dddg¡}||d}t dddg¡}t||ƒ|d|d}t||ƒ||dd    }t ddd
g¡}t||ƒdS) NrLcSs||Sr5r<rr<r<r=r$Êsz5TestVectorize.test_keywords2_ticket_2100.<locals>.foorJrSrõrH)r{r`©r{rT)rLrrr<r<r=Útest_keywords2_ticket_2100Çs
 
 
 
 z(TestVectorize.test_keywords2_ticket_2100cCsxdd„}tj|ddgd}ddg}t||ddgdd    dgd
ƒt||ddgdd    dgd ƒt||ddgdd    dgƒƒdS) NcSs.t|ƒ}| d¡}|r*||| d¡}q|Sr)rpÚpop)r·ÚpZ_pr˜r<r<r=Ú    mypolyvalÚs
 
z;TestVectorize.test_keywords3_ticket_2100.<locals>.mypolyvalr&rL)ÚexcludedrSrjrrJ)r·r&)r&)r6r3r)r_r'ZvpolyvalZansr<r<r=Útest_keywords3_ticket_2100Øs z(TestVectorize.test_keywords3_ticket_2100cCs.tdd„ƒ}t|ddgddgdddgƒdS)    Nc[sd}|D]}|||9}q|S©Nr¨r<)Úkwr˜Z_kr<r<r=r¹ész3TestVectorize.test_keywords4_ticket_2100.<locals>.frLrJrSrHrrir©r_r¹r<r<r=Útest_keywords4_ticket_2100çs
z(TestVectorize.test_keywords4_ticket_2100cCs,tdd„ƒ}t|ddgddgƒddgƒdS)NcWs
t |¡Sr5)r6rZ)rœr<r<r=r¹ôsz3TestVectorize.test_keywords5_ticket_2100.<locals>.frLrJrSrHrirr,r<r<r=Útest_keywords5_ticket_2100òs
z(TestVectorize.test_keywords5_ticket_2100cCs dd„}t|ƒ}t|ƒdƒdS)NcSsdSrïr<r<r<r<r=r$ûsz5TestVectorize.test_coverage1_ticket_2100.<locals>.foorLr©r_r$r¹r<r<r=Útest_coverage1_ticket_2100úsz(TestVectorize.test_coverage1_ticket_2100cCs>dd„}t|ƒ}t|j|jƒd}t||d}t|j|ƒdS)NcSs|S)zOriginal documentationr<rmr<r<r=r$sz3TestVectorize.test_assigning_docstring.<locals>.foozProvided documentation)Údoc)r3rÚ__doc__)r_r$r¹r1r<r<r=Útest_assigning_docstrings  z&TestVectorize.test_assigning_docstringcCs`Gdd„dƒ}tt|ƒjƒt d¡ƒt d¡dƒtt|jƒ|ƒt d¡ƒt d¡dƒdS)Nc@seZdZdZdd„ZdS)z9TestVectorize.test_UnboundMethod_ticket_1156.<locals>.FoorJcSs
||jSr5r#rgr<r<r=r%sz=TestVectorize.test_UnboundMethod_ticket_1156.<locals>.Foo.barN)rnrorpr{r%r<r<r<r=ÚFoosr4rårJ)rr3r%r6r7)r_r4r<r<r=Útest_UnboundMethod_ticket_1156 s ÿ ÿz,TestVectorize.test_UnboundMethod_ticket_1156cCsltdd„ƒ}|t d¡ƒ}|t dd¡ƒ}tdd„ƒ}|t dd¡ƒ}|t d¡ƒ}t||ƒt||ƒdS)NcSs|Sr5r<rmr<r<r=rör÷z@TestVectorize.test_execution_order_ticket_1487.<locals>.<lambda>rSrecSs|Sr5r<rmr<r<r=rör÷)r3r6r7r)r_Úf1Zres1aZres1bÚf2Zres2bZres2ar<r<r=Ú test_execution_order_ticket_1487s  
z.TestVectorize.test_execution_order_ticket_1487cCs$t dd„¡}d}t|||ƒƒdS)NcSs|Sr5r<rmr<r<r=rö'r÷z7TestVectorize.test_string_ticket_1892.<locals>.<lambda>Zd0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789)r6r3r)r_r¹rŽr<r<r=Útest_string_ticket_1892%sz%TestVectorize.test_string_ticket_1892csNdg‰t‡fdd„ƒ}d|_t d¡}t||ƒ||ƒtˆdt|ƒƒdS)Nrcsˆdd7<|dS)NrrLrJr<rm©Z_callsr<r=r¹/sz#TestVectorize.test_cache.<locals>.fTrT)r3Úcacher6r7rrrê©r_r¹r·r<r:r=Ú
test_cache+s
zTestVectorize.test_cachecCs0t dd„¡}d|_t d¡}t||ƒ|ƒdS)NcSs|Sr5r<rmr<r<r=rö:r÷z+TestVectorize.test_otypes.<locals>.<lambda>r‡rT)r6r3rr7rr<r<r<r=Ú test_otypes9s
zTestVectorize.test_otypesc    CsŽtt d¡dgdgfƒtt d¡dgdgfƒtt d¡ddgdgfƒtt d¡dgdgfƒtt d    ¡dgddgfƒtt d
¡dd d gd gfƒtt d¡dgdgfƒtt d¡dgdgfƒtt d¡ddgdgfƒtt d¡dgdgfƒtt d¡dgddgfƒtt d¡dd d gd gfƒttƒt d¡W5QRXttƒt d¡W5QRXttƒt d¡W5QRXdS)Nz(x)->()rmr<z    (x,y)->()rÿz (x),(y)->()rz(x)->(y)z (x)->(y),()z(),(a,b,c),(d)->(d,e))r`r{r‹)rþ)rþÚez(x )->()z( x , y )->(  )z (x),( y) ->()z(  x)-> (y )  z (x)->( y),( )z*(  ), ( a,  b,c )  ,(  d)   ->   (d  ,  e)z
(x)(y)->()z    (x),(y)->z
((x))->(x))rÚnfbZ_parse_gufunc_signaturer r\rxr<r<r=Útest_parse_gufunc_signature?sP
 
ÿ
 ÿ
 
ÿ
 ÿ
ÿ
 
ÿ
 ÿ
 
ÿ
 ÿÿþ
 
 
z)TestVectorize.test_parse_gufunc_signaturecCsDdd„}t|dd}|ddddgd    dd
d gƒ}t|d    dd    d gƒdS) NcSs||kr||S||SdSr5r<rr<r<r=rbsz8TestVectorize.test_signature_simple.<locals>.addsubtractz    (),()->()©Ú    signaturerrSrjrårLrTrkrJrrr<r<r=Útest_signature_simpleas z#TestVectorize.test_signature_simplecCs:dd„}t|dd}|ddgddggƒ}t|ddgƒdS)    NcSs| ¡Sr5©r«rõr<r<r=r«msz4TestVectorize.test_signature_mean_last.<locals>.meanz(n)->()rBrLrSrJrHr)r_r«r¹rr<r<r=Útest_signature_mean_lastls z&TestVectorize.test_signature_mean_lastcCsBdd„}t|dd}|ddgddggƒ}t|d    dgd    dggƒdS)
NcSs || ¡Sr5rErõr<r<r=Úcenterusz3TestVectorize.test_signature_center.<locals>.centerú(n)->(n)rBrLrSrJrHrXr)r_rGr¹rr<r<r=Útest_signature_centerts z#TestVectorize.test_signature_centercCsdtdd„dd}|dddgƒ}tt|tƒo4t|ƒdkƒt|ddddgƒt|ddddgƒdS)    NcSs||fSr5r<rmr<r<r=rö}r÷z:TestVectorize.test_signature_two_outputs.<locals>.<lambda>ú    ()->(),()rBrLrJrSr)r3rrÚtuplerêr©r_r¹rr<r<r=Útest_signature_two_outputs|s
z(TestVectorize.test_signature_two_outputscCs ttjdd}|ddgdddgƒ}t|dddgdddggƒ|ddgggdddgƒ}t|dddgdddggggƒ|ddgddggdddgƒ}t|dddgdddggdddgdddgggƒ|ddgdddgdddggƒ}t|dddgdddggdddgdddgggƒdS)    Nz(a),(b)->(a,b)rBrLrJrSrHrjr)r3r6r9rrLr<r<r=Útest_signature_outerƒsÿÿz"TestVectorize.test_signature_outercCs^tdd„dd}|dddgƒ}t|ddgƒ|dddgdddggƒ}t|ddgddggƒdS)    NcSs |dd…S©NrXr<rmr<r<r=rö”r÷z<TestVectorize.test_signature_computed_size.<locals>.<lambda>z(n)->(m)rBrLrJrSrHrrLr<r<r=Útest_signature_computed_size“s
z*TestVectorize.test_signature_computed_sizecCsVd dd„}t|ddhd}t|dddgƒddd    gƒt|dddgd
d dddgƒdS) NrLcSs||Sr5r<rr<r<r=r$sz2TestVectorize.test_signature_excluded.<locals>.fooú()->()r{)rCr(rJrSrHrr#)rLrr/r<r<r=Útest_signature_excluded›s
z%TestVectorize.test_signature_excludedcCsHtdd„ddgd}|dddgƒ}t|jt d¡ƒt|dddgƒdS)    NcSs|Sr5r<rmr<r<r=rö¥r÷z5TestVectorize.test_signature_otypes.<locals>.<lambda>rHr¿©rCrrLrJrS)r3rrÀr6rrLr<r<r=Útest_signature_otypes¤sz#TestVectorize.test_signature_otypesc    Cs¬ttjdd}ttdƒ|ddgƒW5QRXttdƒ|ddƒW5QRXttdƒ|ddgdddgƒW5QRXttjd    d}ttdƒ|ddƒW5QRXdS)
Nz (n),(n)->(n)rBzwrong number of positionalrLrJzdoes not have enough dimensionsú$inconsistent size for core dimensionrSrQ)r3Úoperatorr8rrr\r,r<r<r=Útest_signature_invalid_inputsªs  ÿÿ z+TestVectorize.test_signature_invalid_inputsc    Cs˜tdd„dd}ttdƒ|dddgƒW5QRXtd    d„d
d}ttd ƒ|dƒW5QRXtd d„d d}ttd ƒ|ddgƒW5QRXdS)NcSs |dd…SrOr<rmr<r<r=rö»r÷z>TestVectorize.test_signature_invalid_outputs.<locals>.<lambda>rHrBrUrLrJrScSs|Sr5r<rmr<r<r=röÀr÷rJzwrong number of outputscSs||fSr5r<rmr<r<r=röÄr÷rQ)r3rr\r,r<r<r=Útest_signature_invalid_outputs¹sÿ  z,TestVectorize.test_signature_invalid_outputsc    Cs t dd„¡}tjddgtd}ttdƒ||ƒW5QRXd|_t||ƒ|ƒtjdd„d    d
}ttdƒ||ƒW5QRXtjd d„d    dd }t||ƒ|ƒtjd d„ddd }t||ƒ|ƒtjdd„dd
}t||jƒ|jƒtjdd„ddd }ttdƒ||ƒW5QRXdS)NcSs|Sr5r<rmr<r<r=röÊr÷z5TestVectorize.test_size_zero_output.<locals>.<lambda>rrTrÓrr‡cSs|Sr5r<rmr<r<r=röÒr÷rQrBcSs|Sr5r<rmr<r<r=röÖr÷rScSs|Sr5r<rmr<r<r=röÙr÷rHcSs|Sr5r<rmr<r<r=röÜr÷cSs|gSr5r<rmr<r<r=rößr÷z()->(n)znew output dimensions)    r6r3r?Úintrr\rrrr<r<r<r=Útest_size_zero_outputÈs$   z#TestVectorize.test_size_zero_outputcCsäGdd„dtjƒ}t dddgdddgdddgg¡ |¡}t dddgddd    gd
d d gg¡ |¡}tjtjd d}|||ƒ}tt|ƒ|ƒt|dddgdd    dgd
d d ggƒt dd„¡}|||ƒ}tt|ƒ|ƒt|||ƒdS)Nc@s eZdZdS)z/TestVectorize.test_subclasses.<locals>.subclassNrÊr<r<r<r=rËäsrËr¨rªr§r©r¯r°r»r9r­r4z(m,m),(m)->(m)rBcSs||Sr5r<rÿr<r<r=röòr÷z/TestVectorize.test_subclasses.<locals>.<lambda>)r6rÌr€rÍr3ÚmatmulrrÎ)r_rËrérœZmatvecrZmultr<r<r=rÏãs  þþ(
"
zTestVectorize.test_subclassesN)&rnrorprrr    rrrrrrrr"r$r)r-r.r0r3r5r8r9r=r>rArDrFrIrMrNrPrRrTrWrXrZrÏr<r<r<r=rQsF  
 
    "     rc@sLeZdZGdd„dƒZejje ddej ddej    fdg¡dd    „ƒƒZ
d
S) Ú    TestLeaksc@s$eZdZdZdd„Zedd„ƒZdS)z TestLeaks.Ar)cGsdSrr<©r_r r<r<r=ÚboundüszTestLeaks.A.boundcGsdSrr<)r r<r<r=ÚunboundÿszTestLeaks.A.unboundN)rnrorpÚitersr^Ú staticmethodr_r<r<r<r=ÚAùsrbúPython lacks refcounts©Úreasonz
name, incrr^)r_rc    Cs¸ddl}t|j|ƒ}| ¡zŒt |¡}t|jjƒD]2}| ¡}t     
t||ƒdd¡|_ |  t      d¡¡}q4d}t t |¡||ƒtdƒD] }| ¡qˆt t |¡|ƒW5| ¡XdS)NrrLr›rT)ÚgcrßrbÚdisableÚenableÚsysÚ getrefcountr^r`r6Z
frompyfuncr¹r7rZcollect)    r_ràÚincrrfZA_funcÚrefcountr‡r`rfr<r<r=Útest_frompyfunc_leakss  
 
zTestLeaks.test_frompyfunc_leaksN) rnrorprbrárâÚskipifrrãr`rmr<r<r<r=r\øs
þr\c@szeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dd„Z dd„Z ejjdddd„ƒZdS)Ú TestDigitizecCs2t dd¡}t dd¡}tt||ƒt d¡ƒdS)Nr‹rTr2r®©r6r7rr©r_r·Úbinsr<r<r=Ú test_forward#s  zTestDigitize.test_forwardcCs6t ddd¡}t ddd¡}tt||ƒt d¡ƒdS)NrTr‹rXr2r®rprqr<r<r=Ú test_reverse(szTestDigitize.test_reversecCs:tdƒ}t | ¡| ¡d¡}tt t||ƒdk¡ƒdS)Nr›r©rr6r¯rÑrrrr™r)r_r·Úbinr<r<r=Ú test_random-szTestDigitize.test_randomcCsfdddddddg}dddg}dddd    dd    dg}tt||ƒ|ƒdddddd    dg}tt||d
ƒ|ƒdS) NrLrTrHr›rir®rrJrST)rr)r_r·rrZdefault_answerZ right_answerr<r<r=Útest_right_basic2s 
zTestDigitize.test_right_basiccCs4t dd¡}t dd¡}tt||dƒt d¡ƒdS)Nr‹rTrHTr®rprqr<r<r=Útest_right_open:s  zTestDigitize.test_right_opencCs8t ddd¡}t ddd¡}tt||dƒt d¡ƒdS)NrTr‹rXrHTr®rprqr<r<r=Útest_right_open_reverse?sz$TestDigitize.test_right_open_reversecCs<tdƒ}t | ¡| ¡d¡}tt t||dƒdk¡ƒdS)Nr›Trurqr<r<r=Útest_right_open_randomDsz#TestDigitize.test_right_open_randomcCsddddg}dddg}tt||dƒddddgƒtt||dƒddddgƒdddg}tt||dƒddddgƒtt||dƒddddgƒddddg}tt||dƒddddgƒtt||dƒddddgƒddddg}ttt||ƒddddg}ttt||ƒdS)    NrXrrLrJFrSTrH)rrr r\rqr<r<r=Útest_monotonicIs 
 
   zTestDigitize.test_monotoniccCs>dddg}dddg}ttt||ƒ||}}ttt||ƒdS)NrLrJy@ð?rS)r rrrqr<r<r=Útest_casting_errorYs
 
 
 
zTestDigitize.test_casting_errorcCshGdd„dtjƒ}t d¡ |¡}t dd¡ |¡}ttt||dƒ|ƒ ƒttt||dƒ|ƒ ƒdS)Nc@s eZdZdS)z(TestDigitize.test_return_type.<locals>.ANrÊr<r<r<r=rbbsrbrTrLrSFT)r6rÌr7rÍrrr)r_rbr`r{r<r<r=Útest_return_type`s
zTestDigitize.test_return_typecCs&d}tt ||d|dg¡dƒdS©NlrL©rr6rr"r<r<r=Útest_large_integers_increasingisz+TestDigitize.test_large_integers_increasingz8gh-11022: np.core.multiarray._monoticity loses precisionrdcCs&d}tt ||d|dg¡dƒdSrr€r"r<r<r=Útest_large_integers_decreasingnsz+TestDigitize.test_large_integers_decreasingN)rnrorprsrtrwrxryrzr{r|r}r~rrárâÚxfailr‚r<r<r<r=ro!s    ÿroc@seZdZdd„Zdd„ZdS)Ú
TestUnwrapcCsHttdddtjgƒddgƒtt tttdƒdƒƒtjk¡ƒdS)NrLrJr›r)rr1r6rÛrr™rrrxr<r<r=rxs zTestUnwrap.test_simplecCsîttddgddddgƒtt tttdƒdddƒdk¡ƒt dd    d
d d g¡}t |d¡}tt|dd|ƒt dd    d
d d d g¡}t |d¡}t|dd}t|dd    d
d d dgƒt|ddd}t|dd    d
d d d gƒ|j    |j    ksêt
‚dS)NrLiéÿ©ÚperiodrJr›éèréKé–éár¿i®éúrVéŒ)r‡Zdiscont) rr1rr6r™rrr€ÚmodrÀr¶)r_Z
simple_seqZwrap_seqZ
uneven_seqZ wrap_unevenZ
no_discontZ
sm_discontr<r<r=Ú test_period~s&   zTestUnwrap.test_periodN)rnrorprrr<r<r<r=r„vsr„rÀÚOÚ
AllIntegerZFloatÚMrLr›c@sfeZdZeeddœdd„Zeeddœdd„Zeeddœdd„Zeeddœd    d
„Zeeddœd d „Z    dS) ÚTestFilterwindowsN)rÀr’ÚreturncCs¤tj||dd}t|ƒ}|dkr*tj}nt |jtj¡}|j|ksHt‚t|t|ƒƒ|dkrpt    |t g¡ƒn0|dkrŠt    |t 
d¡ƒnt tj |ddddƒdS)    NrÓr<rrLrrrç@rH) r6r€r"r¿rÁrÀr¶rrrr]r    r¼©r_rÀr’ZscalarrÃZ    ref_dtyper<r<r=Ú test_hanning—szTestFilterwindows.test_hanningcCs¤tj||dd}t|ƒ}|dkr*tj}nt |jtj¡}|j|ksHt‚t|t|ƒƒ|dkrpt    |t g¡ƒn0|dkrŠt    |t 
d¡ƒnt tj |ddddƒdS)    NrÓr<rrLrrrgÃõ(\Â@rH) r6r€r!r¿rÁrÀr¶rrrr]r    r¼r–r<r<r=Ú test_hamming¬szTestFilterwindows.test_hammingcCs¤tj||dd}t|ƒ}|dkr*tj}nt |jtj¡}|j|ksHt‚t|t|ƒƒ|dkrpt    |t g¡ƒn0|dkrŠt    |t 
d¡ƒnt tj |ddddƒdS)    NrÓr<rrLrrrgž^)ËÇ@rH) r6r€rr¿rÁrÀr¶rrrr]r    r¼r–r<r<r=Ú test_bartlettÁszTestFilterwindows.test_bartlettcCs¤tj||dd}t|ƒ}|dkr*tj}nt |jtj¡}|j|ksHt‚t|t|ƒƒ|dkrpt    |t g¡ƒn0|dkrŠt    |t 
d¡ƒnt tj |ddddƒdS)    NrÓr<rrLrrrg=
×£p=@rH) r6r€rr¿rÁrÀr¶rrrr]r    r¼r–r<r<r=Ú test_blackmanÖszTestFilterwindows.test_blackmancCs¦tj||dd}t|dƒ}|dkr,tj}nt |jtj¡}|j|ksJt‚t|t|ƒƒ|dkrrt    |t g¡ƒn0|dkrŒt    |t 
d¡ƒnt tj |ddddƒdS)    NrÓr<rrrLrrr›rð) r6r€r&r¿rÁrÀr¶rrrr]r    r¼r–r<r<r=Ú test_kaiserës
zTestFilterwindows.test_kaiser)
rnrorpÚstrrYr—r˜r™ršr›r<r<r<r=r“‘s
r“c@s$eZdZdd„Zdd„Zdd„ZdS)Ú    TestTrapzcCsHt ddd¡}tt d|d¡t dtj¡dd}t|ddƒdS)    Néöÿÿÿr›rer·rJ)rrLrk)r6r7r/rkrÙrÛr    )r_r·rr<r<r=rs*zTestTrapz.test_simplec Cs&t ddd¡}t ddd¡}t ddd¡}t |¡|d|d}|dd<|dd<t |¡|d|d}|dd<|dd<t |¡|d|d}|dd<|dd<|dd…ddf|ddd…df|dddd…f}||dd…ddfjdd}||ddd…dfjdd}    ||dddd…fjdd}
t||dd…ddfdd    } t| |ƒt||ddd…dfdd    } t| |    ƒt||dddd…fdd    } t| |
ƒt||dd    } t| |ƒt||dd    } t| |    ƒt||dd    } t| |
ƒdS)
NrrLrSrJrirVrXrr)r·rs)r6r¯Z    ones_liker¼r/r    ) r_r·rÂrÜZwxZwyZwzÚqZqxZqyZqzrr<r<r=Ú    test_ndim    s86
 
 
 
 
zTestTrapz.test_ndimcCs‚t d¡}||}|dk}tjj||d}d}tt||ƒ|ƒtjj||d}tt||ƒ|ƒtjj||d}tt||ƒ|ƒdS)NrTrJrxg*@)r6r7rr€r    r/)r_r·rÂryZymrZxmr<r<r=r®.s
zTestTrapz.test_maskedN)rnrorprr r®r<r<r<r=rs%rc@seZdZdd„Zdd„ZdS)ÚTestSinccCs6ttdƒdkƒtt ddd¡ƒ}t|t|ƒdƒdS)NrrLrXrrk)rr.r6r¯r
r©r_rÃr<r<r=rAszTestSinc.test_simplecCsFddg}tt |¡ƒ}tt|ƒƒ}tt|ƒƒ}t||ƒt||ƒdS)Nrrµ)r.r6r€rprKr)r_r·r‘r’r“r<r<r=Útest_array_likeGs   
zTestSinc.test_array_likeN)rnrorprr£r<r<r<r=r¡?sr¡c@seZdZdd„ZdS)Ú
TestUniquec CsÈt dddddddddg    ¡}tt t|ƒdddddgk¡ƒttt dddddg¡ƒt dg¡kƒdddd    ddg}tt t|ƒd    dddgk¡ƒt d
d d d d
g¡}tt t|ƒd d d
d gk¡ƒdS)NrHrSrJrLrZwidgetZhamr$r%y@@rÝyð?$@r›)r6r€rr™r2r"r<r<r=rRs (zTestUnique.test_simpleN©rnrorprr<r<r<r=r¤Psr¤c@seZdZdd„Zdd„ZdS)ÚTestCheckFinitecCsRdddg}ddtjg}ddtjg}tj |¡tttjj|ƒtttjj|ƒdS)NrLrJrS)r6ÚinfrüÚlibÚasarray_chkfiniter r\rŠr<r<r=r^s 
   zTestCheckFinite.test_simplecCs2dddg}tjj|dtjd}t|jtjkƒdS)NrLrJrSrž)r rÀ)r6r¨r©r¿rrÀrgr<r<r=Útest_dtype_orderfs
z TestCheckFinite.test_dtype_orderN)rnrorprrªr<r<r<r=r¦\sr¦c @s6eZdZe dddgdddgddd    gg¡Ze d
d d gd ddgdddgg¡Ze dddgdddgdddgg¡Ze ddddddgddddddgddddddgddddd d!gdddd dd"gdddd!d"dgg¡Zd#d$„Z    d%d&„Z
d'd(„Z d)d*„Z d+d,„Z d-d.„Zd/d0„Zd1d2„Zej d3ejejejejg¡d4d5„ƒZd6S)7Ú TestCorrCoefgÿÁ°‘^³Ã?gŸ.{§<Ç?g¥‹$,Â?g¯ßá4Œæ?gpÖ)ßî?gÕJ¶ôGÜÑ?gY»’‰Àí?g½¬€«Ô?gáވ0v©È?gØ©‡¢‘º?gBÈF­Uá?g¢G)tàß?g3äTBâ„ê?gLÁ\ƒåè?gïÃAçÙ?g>
“Îí?gqµFëE`å?g€5Ø¢?r¨gޛ•£¶î?gßÉár@©¿gp¾è]‚4Ó?g?Ä'LÓ?gÝë(÷Ð8å?gîê4V‹}à?gÕØw¨{¨¿g,H¨×5ì?gjSŽ, úè?gªÀâÓóî¿gµ)h¤ïßæ?gå5#AÀ“ê?gƒätÄçoà¿gB CÃæ,å¿g@§ÿ02vï?cCs.tt dddgdddg¡ddgddggƒdS)NrrLr¨çð¿)r    r6rrxr<r<r=Útest_non_array‚sÿzTestCorrCoef.test_non_arraycCsdt|jƒ}t||jƒtt t |¡dk¡ƒt|j|jƒ}t||j    ƒtt t |¡dk¡ƒdSr*)
rrbr    rºrr6r™r°rêr»)r_Ztgt1Ztgt2r<r<r=r†s 
  zTestCorrCoef.test_simplec    CsœtƒŒ}t d¡ttt|jdd| t¡tt|jdd|j    ƒtt|j|j
dd|j ƒtt|jdd|j    ƒtt|j|j
dd|j ƒW5QRXdS)Nr rX©ZddofrS) rrÚ simplefilterrÚDeprecationWarningrrbÚfilterr    rºrêr»©r_Úsupr<r<r=Ú    test_ddofs
 
zTestCorrCoef.test_ddofc    CshtƒX}t d¡ttt|j|jddƒttt|jdd| t¡t    t|jdd|j
ƒW5QRXdS)Nr rLr)Zbias) rrr¯rr°rrbrêr±r    rºr²r<r<r=Ú    test_bias›s 
 
zTestCorrCoef.test_biascCs^t dddgdddgg¡}t|ƒ}t ddgddgg¡}t||ƒtt t |¡dk¡ƒdS©    NrLrJrSrùù@rr¨rÖ)r6r€rr rr™r°)r_r·r˜rOr<r<r=Ú test_complex¥s
 
zTestCorrCoef.test_complexcCsLt dddgg¡}t dddgg¡}tt ||¡t ddgddgg¡ƒdSr¶)r6r€r r©r_r·rÂr<r<r=Útest_xy¬szTestCorrCoef.test_xyc    Csžtjddˆt dt¡ttt g¡ƒtjƒttt g¡     dd¡ƒt g¡     dd¡ƒttt g¡     dd¡ƒt tjtjgtjtjgg¡ƒW5QRXdS©NTr
r rrJ)
rrr¯ÚRuntimeWarningrrr6r€rürlrxr<r<r=Ú
test_empty±s ÿÿzTestCorrCoef.test_emptyc    Cshddgddgg}tjddt|ƒ}W5QRXt|t ddgddgg¡ƒtt t |¡dk¡ƒdS)Ng0Žä.ÿ++g}Ô%­I²TÚraise)r™r¨r¬)r6Zerrstaterr
r€rr™r°)r_r·r‹r<r<r=Ú test_extremeºs
zTestCorrCoef.test_extremeÚ    test_typecCs*|j |¡}t||d}||jks&t‚dS©NrÓ)rbr½rrÀr¶)r_rÀZcast_Ar˜r<r<r=Útest_corrcoef_dtypeÁs  z TestCorrCoef.test_corrcoef_dtypeN)rnrorpr6r€rbrêrºr»r­rr´rµr¸rºr½r¿rárârãÚhalfÚsingleÚdoubleÚ
longdoublerÂr<r<r<r=r«msJþÿþÿþÿûÿ     
    r«c@sheZdZe ddgddgddgg¡jZe ddgddgg¡ZejdddgddZe dd    dg¡Z    e dgdgdgdgdgdgg¡jZ
e d
d gd d
gg¡Z ej d ej d Ze dddg¡Ze ddgddgg¡Ze  d ¡Ze dddddg¡Zdd„Zdd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zej d*ej ej!ej"ej#g¡d+d,„ƒZ$d-S).ÚTestCovrrJrLr¨r¬rªr§)ÚndminrH皙™™™™Ù?gš™™™™™Ù¿rSrÓr¯gUUUUUUå?gUUUUUUå¿g&S£’:Ù?gÒo_Îã?g#Ûù~j¼è?g”‡…ZÓ¼ï?gÎQÚ|é?cCstt|jƒ|jƒdSr5)r rÚx1rºrxr<r<r=raÕszTestCov.test_basiccCsZt dddgdddgg¡}t ddgddgg¡}tt|ƒ|ƒtt|t d¡d    |ƒdS)
NrLrJrSrùr·rr¨rÖ©Úaweights)r6r€r rr])r_r·r˜r<r<r=r¸ØszTestCov.test_complexcCsJt dddgg¡}t dddgg¡}tt||ƒt ddgddgg¡ƒdSr¶)r6r€r rr¹r<r<r=rºÞszTestCov.test_xyc    Csžtjddˆt dt¡ttt g¡ƒtjƒttt g¡     dd¡ƒt g¡     dd¡ƒttt g¡     dd¡ƒt tjtjgtjtjgg¡ƒW5QRXdSr»)
rrr¯r¼rrr6r€rürlrxr<r<r=r½ãs ÿÿzTestCov.test_emptyc    CsZtjddDt dt¡tt|jddt tj    tj     gtj     tj    gg¡ƒW5QRXdS)NTr
r rTr®)
rrr¯r¼rrrÊr6r€r§rxr<r<r=Útest_wrong_ddofìs  ÿÿzTestCov.test_wrong_ddofcCsPtt|jƒt|jddƒt dddddg¡}tt|j|ƒt|j|ddƒdS)NF)Zrowvarg+‡ÙÎ÷³?g4€·@‚âÓ?g¾Á&SË?gÒo_Ρ?gŒJê4ë?)r rÚx3r6r€©r_rÂr<r<r=Útest_1D_rowvarószTestCov.test_1D_rowvarcCs$tt|jddtj|jddƒdS)NrLr®)r rrÎr6Úvarrxr<r<r=Útest_1D_varianceøszTestCov.test_1D_variancecCsÖtt|j|jdt|jƒƒtt|j|jd|jƒtt|j|jd|jƒ|jd}t    t
t|j|dt j dt j d}t    tt|j|dt j dt j d}t    tt|j|ddt j dt j d}t    tt|j|ddS)N)Úfweightsrµ©rJrSrÓrJrXrS)r rr­Ú frequenciesÚ
x2_repeatsrÊr»Úunit_frequenciesrºr rr6r]rÚ RuntimeErrorr\)r_Znonintr¹r<r<r=Ú test_fweightsûs"ÿÿÿ
zTestCov.test_fweightscCs²tt|j|jd|jƒtt|jd|jdt|j|jdƒtt|j|jd|jƒt d¡}t    t
t|j|dt d¡}t    t
t|j|ddt d¡}t    t t|j|ddS)NrËr©rÔrJr¬rS) r rrÊr´r¼Ú unit_weightsrºr6r]r rØr\r¢r<r<r=Ú test_aweights     sÿ
 
zTestCov.test_aweightscCs¾tt|j|j|jdt|jƒƒtt|j|j|jd|jƒtt|j|j|jd|j    ƒtt|j|j|j
d|j ƒtt|j|jd|j
dt|j|j
dƒtt|j|j|jd|j    ƒdS)N)rÓrÌr©rË) r rr­rÕrÚrÖrÊr»r×rºr´r¼rxr<r<r=Útest_unit_fweights_and_aweights    s< ÿþ ÿþ ÿþ ÿþ ÿþ ÿþz'TestCov.test_unit_fweights_and_aweightsrÀcCs*|j |¡}t||d}||jks&t‚dSrÁ)rÊr½rrÀr¶)r_rÀZcast_x1r˜r<r<r=Útest_cov_dtype+    s  zTestCov.test_cov_dtypeN)%rnrorpr6r€rrÊrºr­rÕrÖr»r]rr×r´r¼rÚrÎrar¸rºr½rÍrÐrÒrÙrÛrÜrárârãrÃrÄrÅrÆrÝr<r<r<r=rÇÈs.$
     rÇc@s$eZdZdd„Zdd„Zdd„ZdS)ÚTest_I0c
Csêttdƒt d¡ƒt dddddg¡}t dd    d
d d g¡}tt|ƒ|ƒtt| ƒ|ƒt d dgddgddgddgddgg¡}tt|ƒt ddgddgddgddgdd gg¡ƒt d!g¡}t|jd"ƒtt d!g¡t d#g¡ƒdS)$Nrµgÿǒ#ñ?gC„ê¬7æß?gùmãªMæ?g˜¡3aâ,Ì?gª$WV?ۏ?r3gšÖ¿N^ñ?gE á¿ò?g閡Ä1ð?gÔ%©m?ð?gDíénÿ¥@g>@÷åÌvê?gÏu¯Í¥üï?gVºX¤Ë³ì?g÷uaœ&Ù?gB-¬sJØ?g-^ þ§ª?g§_¿³V×?g ¨X±Ï.ç?gVØëaXÓÞ?gõj¨•à?gpÁÛÚò?g~-ØÛ@ô?g¦¼D/bó?gݦ‰ˆ¬Ÿð?g,êY1ؔð?gš[!¬Æð?g‘QÐL‰ð?gWè¤sU+ò?g÷ ±@ñð?g™fx»wñ?rªrÝr¨)r    r#r6r€rrAr)r_rbrsrêZi0_0r<r<r=r4    s4þ
ü
üþ  zTest_I0.test_simplecsVt d¡‰G‡fdd„dƒ}tt |ƒ¡|ƒs2t‚t ˆ¡}t |ƒ¡}t||ƒdS)NrHcseZdZ”jZdd„ZdS)z*Test_I0.test_non_array.<locals>.array_likecSs|Sr5r<)r_rær<r<r=Ú__array_wrap__V    sz9Test_I0.test_non_array.<locals>.array_like.__array_wrap__N)rnrorpZ__array_interface__rßr<rõr<r=Ú
array_likeS    srà)r6r7rr°r¶r#r)r_ràrkr˜r<rõr=r­P    s 
 
 zTest_I0.test_non_arrayc    Cs4t ddg¡}tjtddt|ƒ}W5QRXdS)Nryð?@z#i0 not supported for complex valuesr.)r6r€rárrr#)r_r`r˜r<r<r=r¸`    szTest_I0.test_complexN)rnrorprr­r¸r<r<r<r=rÞ2    srÞc@seZdZdd„Zdd„ZdS)Ú
TestKaiserc    Csˆtt tddƒ¡ƒttddƒt g¡ƒttddƒt ddg¡ƒttddƒt dddddg¡ƒttddƒt d    d
dd
d    g¡ƒdS) NrLr¨rrJg ˆöoFé?rTgÀvT¶=î?gg›Óù?gø†„½¦â?g÷ñY…Jì?)rr6Úisfiniter&r    r€rxr<r<r=rh    s&
ÿ
 ÿ
 
ÿÿ
 
ÿÿzTestKaiser.test_simplecCstddƒdS)NrSrH)r&rxr<r<r=Ú test_int_betau    szTestKaiser.test_int_betaN)rnrorprrãr<r<r<r=ráf    s rác@seZdZdd„ZdS)Ú    TestMsortc
Cslt dddgdddgddd    gg¡}tjtd
d 2tt|ƒt ddd    gdddgdddgg¡ƒW5QRXdS) Ngî\é…Ü?gb¥ÝCQé?gהs‘á?gwøˆ‹”×?g¥ ¹klã×?gø*dtaÀî?gÐèÓ¯Áä?g6Hœòïà?gܘC÷Ù?zmsort is deprecatedr.)r6r€ráZwarnsr°r    r()r_rbr<r<r=r{    s þ þþzTestMsort.test_simpleNr¥r<r<r<r=räy    sräc@sdeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dd„Z dd„Z dS)Ú TestMeshgridc
Cs€tdddgddddgƒ\}}t|t dddgdddgdddgdddgg¡ƒt|t dddgdddgdddgdddgg¡ƒdS)NrLrJrSrHrTrjrk©r'rr6r€©r_ÚXÚYr<r<r=r‰    sýýzTestMeshgrid.test_simplecCs.tddddgƒ\}t|t ddddg¡ƒdS)NrLrJrSrHræ)r_rèr<r<r=Útest_single_input”    szTestMeshgrid.test_single_inputcCs*g}tgt|Žƒtgt|ddiŽƒdS)NrœF)rr'r]r<r<r=Ú test_no_input˜    szTestMeshgrid.test_no_inputc
Csdddg}ddddg}t||dd    \}}t|t ddddgddddgddddgg¡ƒt|t ddddgddddgddddgg¡ƒd
d g}tt||ƒd jd kƒtt||dd    d jdkƒtt|||ƒd jdkƒtt|||dd    d jdkƒttt||dd    dS)NrLrJrSrHrTrjrkÚij©Zindexingrirårrö©rSrH)rHrSrJ)rSrHrJZnotvalid)r'rr6r€rrAr r\)r_r·rÂrèrérÜr<r<r=Ú test_indexing    s"
 
 
þ
 
þzTestMeshgrid.test_indexingcCs\tdddgddddgdd    \}}t|t dddgg¡ƒt|t dgdgdgdgg¡ƒdS)
NrLrJrSrHrTrjrkT©Úsparserærçr<r<r=Ú test_sparse±    s zTestMeshgrid.test_sparsecCs$tttdddgddddgdd    dS)
NrLrJrSrHrTrjrkrì)r…)r rr'rxr<r<r=Útest_invalid_arguments¶    s
 
ÿz#TestMeshgrid.test_invalid_argumentscCsÀtjddtjd}tjddtjd}t ||¡\}}t|j|jkƒt|j|jkƒtj||dd\}}t|j|jkƒt|j|jkƒtj||dd\}}t|j|jkƒt|j|jkƒdS)Nrr›rÓr)T)rœrð)r6r7r¾r¿r'rrÀ)r_r·rÂrèrér<r<r=r~½    szTestMeshgrid.test_return_typecCsrt ddg¡}t ddg¡}tj||ddd\}}d|ddd…f<t|ddd…fdƒt|d    dd…f|ƒdS)
Nrbrcgffffff
@gš™™™™™@FT)rñrœrrL)r6r€r'r)r_rèrér·rÂr<r<r=Útest_writebackÕ    s zTestMeshgrid.test_writebackcCshtjdd„tddƒDƒŽ\}}}}}d}t|j|ƒt|j|ƒt|j|ƒt|j|ƒt|j|ƒdS)Ncss|]}dg|VqdS)rNr<©rÛr‡r<r<r=ráà    sz-TestMeshgrid.test_nd_shape.<locals>.<genexpr>rLrj)rJrLrSrHrT)r6r'r^rrA)r_r`r{r‹rþr?Zexpected_shaper<r<r=Ú test_nd_shapeß    s$    zTestMeshgrid.test_nd_shapecCs~t dgddgdddg¡\}}}t|dddggdddgggƒt|dddggdddgggƒt|dddggdddgggƒdS)NrrLrJrSrHrT©r6r'rrŠr<r<r=Útest_nd_valuesè    s zTestMeshgrid.test_nd_valuescCs|tjdgddgdddgdd\}}}t|dddgdddgggƒt|dddgdddgggƒt|dddgdddgggƒdS)    NrrLrJrSrHrTrìrír÷rŠr<r<r=Útest_nd_indexingî    s$zTestMeshgrid.test_nd_indexingN)rnrorprrêrërïròrór~rôrörørùr<r<r<r=r几   s 
    råc@sTeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dS)Ú TestPiecewisec    Cs6tddgddgdgƒ}t|ddgƒtddgddggdgƒ}t|ddgƒtddgt ddg¡dgƒ}t|ddgƒtddgt ddg¡dgƒ}t|ddgƒtddgt ddg¡gdgƒ}t|ddgƒtddgddggdd„gƒ}t|ddgƒttdtddgddgggƒttdtddgddggdd    d
gƒdS) NrTFrLcSsdSrOr<rmr<r<r=rö
r÷z+TestPiecewise.test_simple.<locals>.<lambda>rXz1 or 2 functions are expectedrJrS)r)rr6r€rr\r"r<r<r=r÷    s0ÿÿzTestPiecewise.test_simplecCs2tddgddgddggddgƒ}t|ddgƒdS)NrLrJTFrSrH©r)rr"r<r<r=Útest_two_conditions
s z!TestPiecewise.test_two_conditionscCs&tddddgdddgƒ}t|dƒdS)NrSTFrHrJr)r)rr"r<r<r=Ú$test_scalar_domains_three_conditions
sz2TestPiecewise.test_scalar_domains_three_conditionscCsNtddgddgdgƒ}t|ddgƒtddgddgddgƒ}t|ddgƒdS)NrLrJTFrrSrûr"r<r<r=Ú test_default
szTestPiecewise.test_defaultcCst d¡}t||dkddgƒ}t|jdkƒt|dkƒd}t|ddgddgƒ}t|jdkƒt|dkƒt|dddgdddgƒ}t|dƒdS)    NrSrHrrTTFrLrJ)r6r€r)rr…rr¹r<r<r=r%
s
  zTestPiecewise.test_0dc
Cs®d}t||dk|dkgddgƒ}t|dƒd}t||dk|dk|dk|dkgdddgƒ}t|dƒttdt||dk|dkgdgƒttdt||dk|dkgddddgƒdS)NrSrHrrTrLrJz2 or 3 functions are expected)r)rrrr\r¹r<r<r=Útest_0d_comparison4
s$
,
ÿ
ÿz TestPiecewise.test_0d_comparisoncCs8t d¡}t |dk¡}t||gddgƒ}t|dƒdS)NrSrLrJ)r6r€r)r)r_r·r‹rÂr<r<r=Útest_0d_0d_conditionC
s
z"TestPiecewise.test_0d_0d_conditioncCs\t dddgdddgg¡}t||dk|dkgd    d
d gƒ}t|t d d d gd d dgg¡ƒdS)NgÀgø¿r·rµr r¶rrJrXrLrSr¬r©r¨)r6r€r)rr¹r<r<r=Útest_multidimensional_extrafuncI
s ÿÿz-TestPiecewise.test_multidimensional_extrafunccCsfGdd„dtjƒ}t d¡ |¡}t||dk|dkgdddgƒ}tt|ƒ|ƒt|dddddgƒdS)    Nc@s eZdZdS)z/TestPiecewise.test_subclasses.<locals>.subclassNrÊr<r<r<r=rËQ
srËr°r§rHr¬r¨rª)r6rÌr7rÍr)rrÎ)r_rËr·rr<r<r=rÏP
s
zTestPiecewise.test_subclassesN) rnrorprrürýrþrrÿrrrÏ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 e jje dddd„ƒZe j dddggdg¡dd„ƒZdS)Ú TestBincountcCs$t t d¡¡}t|t d¡ƒdS)NrH)r6Úbincountr7rr]rÏr<r<r=r[
szTestBincount.test_simplec
Cs:t t dddddg¡¡}t|t ddddddg¡ƒdS)NrLrTrJrHr)r6rr€rrÏr<r<r=Ú test_simple2_
szTestBincount.test_simple2cCs6t d¡}t ddddg¡}t ||¡}t||ƒdS)NrH皙™™™™É?ç333333Ó?rµre)r6r7r€rr©r_r·rÃrÂr<r<r=Útest_simple_weightc
s
 zTestBincount.test_simple_weightc
CsTt dddddg¡}t dddddg¡}t ||¡}t|t d    ddd    ddg¡ƒdS)
NrLrJrHrTrrrµrer©r6r€rrrr<r<r=Útest_simple_weight2i
s z TestBincount.test_simple_weight2cCs^t dddddg¡}tj|dd}t|t dddg¡ƒg}tj|dd}t|t g¡ƒdS)NrrLrS©Z    minlengthrJr    r¹r<r<r=Útest_with_minlengtho
s z TestBincount.test_with_minlengthc    Csht dddddddg¡}tj|dd}t|t ddddg¡ƒtj|dd}t|t ddddg¡ƒdS)NrrLrJrSr r    r¹r<r<r=Ú)test_with_minlength_smaller_than_maxvaluew
s
z6TestBincount.test_with_minlength_smaller_than_maxvaluec CsZt dddddg¡}t dddddg¡}t ||d    ¡}t|t d
ddd
ddd
d
g¡ƒdS) NrLrJrHrTrrrµrerirr    rr<r<r=Útest_with_minlength_and_weights~
sz,TestBincount.test_with_minlength_and_weightscCs&tjgtd}t |¡}t||ƒdSrÁ)r6r€rYrrr¹r<r<r=r½„
s
zTestBincount.test_emptycCs4tjgtd}tj|dd}t|tjdtdƒdS)NrÓrTr )r6r€rYrrr?r¹r<r<r=Útest_empty_with_minlength‰
sz&TestBincount.test_empty_with_minlengthcsltjgtd‰ttd‡fdd„ƒttd‡fdd„ƒt d¡‰ttd‡fdd„ƒttd‡fd    d„ƒdS)
NrÓz"'str' object cannot be interpretedcstjˆddS©NÚfoobarr ©r6rr<rmr<r=rö’
r÷z<TestBincount.test_with_incorrect_minlength.<locals>.<lambda>zmust not be negativecstjˆddS©NrXr rr<rmr<r=rö•
r÷rTcstjˆddSrrr<rmr<r=röš
r÷cstjˆddSrrr<rmr<r=rö
r÷)r6r€rYrrr\r7rxr<rmr=Útest_with_incorrect_minlengthŽ
s$
þ
þ
 
þ
þz*TestBincount.test_with_incorrect_minlengthrcrdcCsÌt t tj¡¡}t t tj¡¡}tdƒD]}t dddg¡q,tt t tj¡¡|ƒtt t tj¡¡|ƒtdƒD]}t dddgdddg¡qztt t tj¡¡|ƒtt t tj¡¡|ƒdS)Nr›rLrJrSrHrTrj)    rirjr6rÀZintprÅr^rr)r_Z intp_refcountZdouble_refcountÚjr<r<r=Útest_dtype_reference_leaksŸ
s  z'TestBincount.test_dtype_reference_leaksÚvalsrJc    CsJt |¡}ttƒt |¡W5QRXttƒt |¡W5QRXdSr5)r6Úasarrayr r\r)r_rZvals_arrr<r<r=Útest_error_not_1d¯
s
 
 
 
zTestBincount.test_error_not_1dN)rnrorprrrr
r r rr½rrrárârnrrrãrr<r<r<r=rY
s
rc@s²eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zej    d d „d d „dd „dd „gddddgddd„ƒZ
dd„Z dd„Z dd„Z dd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)S)*Ú
TestInterpcCsttttdggƒtttddgddgƒtttdddgddgddtttdggddtttddgddgdddS)NrrLrJr†éh)r r\r%rxr<r<r=Útest_exceptions»
s
zTestInterp.test_exceptionscCsBt ddd¡}t ddd¡}t ddd¡}tt |||¡|ƒdS)NrrLrTrb)r6r¯r    r%©r_r·rÂÚx0r<r<r=raÂ
szTestInterp.test_basicc
Cs¼tddƒD]ª}tj|tjd}tj|tjd}tjdd|d|gtjd}|ddd…}t|||ƒ}t|||ƒ}tjddddgtd}|ddd…}    t||ƒt||    ƒt|||dd}t|||dd}tjddddgtd}|ddd…}    t||ƒt||    ƒt|||dd}t|||dd}tjddddgtd}|ddd…}    t||ƒt||    ƒt|||ddd    }t|||ddd    }tjddddgtd}|ddd…}    t||ƒt||    ƒq
dS)
NrLr›rÓrXr©ÚleftrJ©Úright)r r")    r^r6r7rÅr]r€r%r+r)
r_ÚsizeÚxpZypZincptsZdecptsZincresZdecresZinctgtZdectgtr<r<r=Útest_right_left_behaviorÈ
s:  
 
 
 
 
 
 
z#TestInterp.test_right_left_behaviorcCs¦t ddd¡}t ddd¡}d}tt |||¡|ƒd}tt |||¡|ƒt d¡}tt |||¡|ƒt d¡}tt |||¡|ƒtj}tt |||¡|ƒdS)NrrLrTr)r6r¯r    r%r¾r¿rürr<r<r=Útest_scalar_interpolation_pointî
s
 
z*TestInterp.test_scalar_interpolation_pointcCs~dddddg}ddddg}ddtjdg}tt |||¡ddtjtjdgƒddtjdg}tt |||¡ddtjtjdgƒdS)NrLrJr¶rSrH)r6r§r    r%rü)r_r·r$Úfpr<r<r=Ú test_non_finite_behavior_exact_xü
s  "z+TestInterp.test_non_finite_behavior_exact_xcCs
t |¡Sr5)r6Zfloat_rmr<r<r=rö r÷zTestInterp.<lambda>cCs
t|dƒSr©rFrmr<r<r=rö r÷cCs
td|ƒSrr)rmr<r<r=rö r÷cCst|t |d¡ƒS)NrR)rFr6Úmultiplyrmr<r<r=rö r÷rCz complex-realz complex-imagz complex-both)ÚparamsÚidscCs|jS)z( scale function used by the below tests )Úparam)r_Úrequestr<r<r=Úsc s z TestInterp.sccCs¤tt dtjdg|ddgƒ¡|tjƒƒtt ddtjg|ddgƒ¡|tjƒƒtt dddg|tjdgƒ¡|tjƒƒtt dddg|dtjgƒ¡|tjƒƒdS)z test that nans are propagated rµrLrr›N)rr6r%rü©r_r/r<r<r=Útest_non_finite_any_nan s(((z"TestInterp.test_non_finite_any_nancCsºtt dtj tj
g|ddgƒ¡|tjƒƒtt dddg|tj tj
gƒ¡|tjƒƒtt dddg|tj
tj gƒ¡|tjƒƒtt dtj tj
g|ddgƒ¡|dƒƒdS)z2 Test that interp between opposite infs gives nan rµrr›rLN©rr6r%r§rür0r<r<r=Útest_non_finite_inf s...zTestInterp.test_non_finite_infcCsttt dtj dg|tj dgƒ¡|tjƒƒtt dtj dg|tj
dgƒ¡|tjƒƒtt dtj dg|dtj gƒ¡|tjƒƒtt dtj dg|dtj
gƒ¡|tjƒƒtt ddtj
g|tj dgƒ¡|tjƒƒtt ddtj
g|tj
dgƒ¡|tjƒƒtt ddtj
g|dtj gƒ¡|tjƒƒtt ddtj
g|dtj
gƒ¡|tjƒƒdS)z@ Test that interp where both axes have a bound at inf gives nan rµrLr›rNr2r0r<r<r=Útest_non_finite_half_inf_xf# s.......z&TestInterp.test_non_finite_half_inf_xfcCs¬tt dtj tj g|ddgƒ¡|dƒƒtt dtj dg|ddgƒ¡|dƒƒtt ddtj
g|ddgƒ¡|dƒƒtt dtj
tj
g|ddgƒ¡|dƒƒdS)z1 Test interp where the x axis has a bound at inf rµrr›rLN©rr6r%r§r0r<r<r=Útest_non_finite_half_inf_x. s,((z%TestInterp.test_non_finite_half_inf_xcCstt dddg|dtj gƒ¡|tj ƒƒtt dddg|dtj
gƒ¡|tj
ƒƒtt dddg|tj dgƒ¡|tj ƒƒtt dddg|tj
dgƒ¡|tj
ƒƒtt dddg|tj tj gƒ¡|tj ƒƒtt dddg|tj
tj
gƒ¡|tj
ƒƒdS)z1 Test interp where the f axis has a bound at inf rµrrLr›Nr5r0r<r<r=Útest_non_finite_half_inf_f5 s ,,,,0z%TestInterp.test_non_finite_half_inf_fc    CsHt ddd¡}t ddd¡dt ddd¡d}d}|d|d}tt |||¡|ƒd}d}ttj||||d|ƒd    }d}ttj||||d
|ƒdd d d dg}dd d dg}ddtjdg}ddtjdtjdg}tt |||¡|ƒddddddddg}ddddg}ddddg}d dd!d"dd#d$d%g}ttj|||d&d'|ƒdS)(NrrLrTrùrrXù@@rr§r!rJr¶rSrHù@ð?yà?éLÿÿÿéVÿÿÿéGÿÿÿé¹ržr2émé¾éBÿÿÿé^é¢þÿÿy@ð?y$@@y@@y@@y@ø?y€!@ü?y@ô?y
@
@y @ @y@@rr†)r6r¯r    r%r§)    r_r·rÂrZy0r r"r$r'r<r<r=Útest_complex_interp> s0$    ÿzTestInterp.test_complex_interpcCs¾t ddd¡}t ddd¡}t d¡}tt |||¡|ƒt dddg¡}t dddg¡}t t d¡||¡}t|dƒtt|tjƒƒtjt d¡||dd    }t|d
ƒtt|tjƒƒdS) NrrLrTrrJrHrXr•r†rµ)    r6r¯r€r    r%rrrr¿)r_r·rÂrr$r'rÄr<r<r=Ú)test_zero_dimensional_interpolation_pointZ s
 
 
z4TestInterp.test_zero_dimensional_interpolation_pointcCs2t ddd¡}t |¡}tt tj||¡dƒdS)Nrr›g-Cëâ6?rª)r6r7Úsinr    r%rÛ)r_r$r'r<r<r=Útest_if_len_x_is_smallk s
z!TestInterp.test_if_len_x_is_smallcCs ddddddddg}d    d
d d g}d dddg}ddddddddg}ttj|||dd|ƒtj|dd dd¡}tj|dd dd¡}ttj|||dd|ƒdS) Nr:r;r<r=ržr2rr>r?r@rArBrTr›rSrHg@r°ç€!@g@r©g
@ç @g@rr†ržrŸrJrXrç)r    r6r%r€rl)r_r·r$r'rÂr<r<r=rp s  zTestInterp.test_periodN)rnrorprrar%r&r(ráZfixturer/r1r3r4r6r7rCrDrFrr<r<r<r=r¹
s6&üüû
         rc @seZdZdd„Zdd„Zdd„Zdd„Zej     d    e
j d
¡d d „ƒZ d d„e
j dDƒe
j e
j fe
je
jfe
je
jfe
je
jfe
je
jfe
je
jfe
je
jfe
 d¡e
jfgZej     ddge¡ej     ddgdddddddddg    ¡dd„ƒƒZe
j de
j d
dZej     d    e¡d d!„ƒZej     d    e¡d"d#„ƒZej     d    e¡d$d%„ƒZd&d'„Zd(d)„Zd*d+„Zd,d-„Zd.d/„Zd0d1„Z d2d3„Z!d4d5„Z"d6d7„Z#d8d9„Z$d:d;„Z%d<d=„Z&d>d?„Z'd@dA„Z(ej     dBdCdDdCgg¡ejj    dEdFdDdGdHdIgdJdKdL„ƒƒZ)dMdN„Z*dOdP„Z+dQdR„Z,dSdT„Z-dFS)UÚTestPercentilecCs~t d¡d}tt |d¡dƒtt |d¡dƒtt |d¡dƒtj|d    <tt |d¡tjƒttj|dd
d tjƒdS) NrirµrrªrrHrbr¬rLÚnearest©Úmethod)r6r7rÚ
percentilerür"r<r<r=ra} s
zTestPercentile.test_basiccCsØdd„tdƒDƒ}t |tdƒ¡}t|tdƒƒtt|ƒtƒt |tdƒ¡}t|tddƒƒtt|ƒtƒt |tdƒ¡}t|tdd    ƒƒtt|ƒtƒt |tdƒg¡}t|t tdd    ƒg¡ƒtt|ƒtjƒdS)
NcSsg|]}t|dƒ‘qS©rJrrõr<r<r=r܇ sz0TestPercentile.test_fraction.<locals>.<listcomp>rirrrkrJrbrH)r^r6rMrrrÎr€rÌ)r_r·r&r<r<r=Ú test_fraction† szTestPercentile.test_fractioncCsRt d¡}t |dddd¡t |ddddd¡t d¡}t |dd|dd¡dS)NrTFÚlinearrÝ)r6r]rM)r_rþÚor<r<r=Útest_api™ s
 
 
zTestPercentile.test_apic    CsRt dddgdddgdddgdddgdddgg¡}ttj|ddddddgƒdS)NrLrHrSrbrrr)r6r€rrMr"r<r<r=Útest_2D  s üzTestPercentile.test_2DrÀZAllFloatcCsPtjdtjdddg|d}tj|ddd}tj |tj¡tj |j|j¡dS)Nr8ç€A@çD@çI@rÓrPrK)r6rZNANrMÚtestingrrÀ)r_rÀrær˜r<r<r=Útest_linear_nan_1D¨ sýz!TestPercentile.test_linear_nan_1DcCsg|]}|tjf‘qSr<)r6r¿)rÛZint_typer<r<r=rܳ sÿzTestPercentile.<listcomp>r‘rÚ input_dtypeÚexpected_dtyperLrs)Ú inverted_cdfr))Úaveraged_inverted_cdfç€;@)Úclosest_observationr))Úinterpolated_inverted_cdfr))Úhazenr])Úweibullé)rPrj)Úmedian_unbiasedrA)Únormal_unbiasedg ;@cCsÊt |¡}t ¡dkr$t |tj¡}tjdddddg|d}tj|d|d}tj ||     |¡d    ¡|d
krª|d krŒtj 
t |¡jtj¡qÆtj 
t |¡jt |¡¡ntj 
t |¡jt |¡¡dS) NÚlegacyr8g4@rTrUrVrÓrKr?)r[r^r) r6rÀZ_get_promotion_stateZ promote_typesr¿rrMrWr    rÎr)r_rLrsrYrZrærÄr<r<r=Útest_linear_interpolation¾ s&
 ÿÿÿz(TestPercentile.test_linear_interpolationcCsDttjtjd|dddddƒttjtjd|dddddƒdS)    Nr›rÓrbÚlowerrKrHÚhigherrT©rr6rMr7©r_rÀr<r<r=Útest_lower_higherå sÿÿÿÿz TestPercentile.test_lower_highercCsˆttjtjd|dddddƒttjtjd|ddd    ddd
ƒttjtjd |ddddd ƒttjtjd |dd    ddd
ƒdS) Nr›rÓé3ÚmidpointrKr•rårLrbrTr®ç@rirjr<r<r=Ú test_midpointì s(ÿÿÿÿÿÿÿÿzTestPercentile.test_midpointcCsDttjtjd|dddddƒttjtjd|dddddƒdS)    Nr›rÓrlrJrKrTé1rHrirjr<r<r=Ú test_nearest÷ sÿÿÿÿzTestPercentile.test_nearestcCsLtj d¡}t |d¡}tj || ¡¡t |d¡}tj || ¡¡dS)NrTrr)r6r±rrMrWrrrrÑ)r_rærÄr<r<r=Ú'test_linear_interpolation_extrapolationþ s
   z6TestPercentile.test_linear_interpolation_extrapolationcCs0t d¡d}tt |dddg¡dddgƒdS)NrirµrrrbrHr¬)r6r7rrMr"r<r<r=Ú test_sequence szTestPercentile.test_sequencecCst d¡ dd¡}tt |d¡dddgƒdddd    gdd    d
d gd d ddgg}ttj|ddd|ƒdddgddd gdddgg}ttj|dddt |¡jƒt d¡ ddd    d
¡}tt |d¡jdƒtt |d¡jdƒttj|dddjdƒttj|dddjdƒttj|dddjdƒttj|dddjd ƒttj|dddjd!ƒttj|dd"d#jdƒttj|dd"d#jdƒttj|ddd"d$jdƒttj|ddd"d$jdƒttj|ddd"d$jdƒttj|ddd"d$jd ƒttj|ddd"d$jd!ƒdS)%NrõrSrH)rŸrbrg@rnržrJrTrjrkrirår›r®rrrçè?r ç@rGr±rLr©rŸrbrN)rŸrbr‰©rS)rJrHrTrj)rJrSrTrj)rJrSrHrj)rJrSrHrT)rSrSrTrjrhrK©rsrL)r6r7rlrrMr€rrA)r_r·Úr0r r<r<r=rl sh"ÿ
ÿÿ
ÿÿ ÿÿ ÿÿ ÿÿ ÿÿ ÿÿzTestPercentile.test_axiscCsœt d¡ dd¡}tt |d¡dƒtt t |d¡¡ƒt dddd    g¡}ttj|dd
d |ƒttj|dd
d j|jƒt d dd g¡}t    tj|ddd |ƒttj|ddd j|jƒt 
d¡}ttj|d|ddƒt|dƒt 
d¡}ttj|dd
|d|ƒt||ƒt 
d¡}ttj|dd|d|ƒt||ƒt d¡ dd¡}ttj|ddddƒtt t |d¡¡ƒt dddd    g¡}tj|ddd
d}t||ƒt|j|jƒt dddg¡}tj|dddd}t    ||ƒt|j|jƒtj
d|j d}tj|dd|d}t|dƒt|dƒtj
d|j d}tj|ddd
|d}t||ƒt||ƒtj
d|j d}tj|ddd|d}t||ƒt||ƒdS)NrõrSrHrbrnr¯r°r»r9rrrr r±rL©rf©rsrfrgrK)rLrsr¨r4r<rÓ©rLrfrT©rLrsrf) r6r7rlrrMrÚisscalarr€rAr    ÚemptyrÀ)r_r·ryr rfZc0Zc1r‹r<r<r=Ú test_scalar_q/ sR
 
 
 
 
 
 
 
 
 
 
 
 
zTestPercentile.test_scalar_qcCs€tttjddgdddtttjdgdƒtttjdgdƒtttjdgttdƒƒdgƒtttjdgttdƒƒd    gƒdS)
NrLrJé8rrKéerXrbrd)r r\r6rMrpr^rxr<r<r=Útest_exception_ sÿ zTestPercentile.test_exceptioncCstt dddgd¡dƒdS)NrLrJrSr)rr6rMrxr<r<r=Útest_percentile_listg sz#TestPercentile.test_percentile_listcCs t dddg¡}t d¡}d}tj|||dtt ||¡|ƒt dddgddd    gg¡}t d
¡}tj||d |d ttj||d d |ƒt d¡}tj||d|d ttj||dd |ƒt d¡ dd¡}t ddddgddddgg¡}t d¡}ttj|dd |d |ƒt||ƒt dddgdddgg¡}t d¡}ttj|dd|d |ƒt||ƒt d dddgddd    dgg¡}tjd|jd }tj|dd!d |d"}t||ƒt||ƒt d dd#gddd$gg¡}tjd|jd }tj|dd!d|d"}t||ƒt||ƒdS)%NrLrJrSrw©rLrJrSrzrHrTrjr{rr{rr©rSrJrõr§r©r¯r°r»r9)rJrHrvrtrurGr rnr±rÔrkrÓrgr}rirå)    r6r€r?rMrr7rlrrÀ)r_r·rÂr&ryrfr r‹r<r<r=Útest_percentile_outj sB
 ÿ
 
 
 
 
 
 
 
 
z"TestPercentile.test_percentile_outcCs–t d¡ dddd¡}ttj|dddjdƒttj|dddjd    ƒttj|dddjd
ƒttj|dd djd ƒttj|dd djd ƒttj|dddjd
ƒttj|dddjd    ƒttj|dddjdƒttj|ddddjd
ƒttj|ddddjd
ƒtt tj|ddgdd¡jdƒtt tj|ddgdd¡jdƒtt tj|ddgdd¡jdƒtt tj|ddgd d¡jdƒdS)NrCr®rLrJrbrrr)rLrJrL)r®rJrL)r®rLrLrS)r®rLrJrXrRrUrrmrxr›)rJrLrJrL)rJr®rJrL)rJr®rLrL)rJr®rLrJ)r6r7rlrrMrAr€©r_rþr<r<r=Útest_percentile_empty_dim“ s> ÿþ ÿþÿÿÿÿz(TestPercentile.test_percentile_empty_dimcCsxt ddddg¡}tj|dgddt|t ddddg¡ƒt ddddg¡}t |dg¡t|t ddddg¡ƒdS)NrJrSrHrLrbF©Úoverwrite_input©r6r€rMrrgr<r<r=Útest_percentile_no_overwrite¯ s z+TestPercentile.test_percentile_no_overwritecCs„tjdddd}tjt d¡|ddt|tjddddƒtjdddd ¡}tjt d¡|ddt|tjdddd ¡ƒdS)NrªçY@rT)ÚnumrmrK)r6r¯rMr7rrñ)r_r&r<r<r=Útest_no_p_overwrite¸ s z"TestPercentile.test_no_p_overwritecCsft ddddg¡}tj|dgdd}t|t dg¡ƒtjddddgdgdd}t|t dg¡ƒdS)    NrJrSrHrLrbTrŠr¶rŒrzr<r<r=Útest_percentile_overwriteÀ s
z(TestPercentile.test_percentile_overwritec
CsÔtjjdd}t |gd¡}ttj|dddt |d¡ƒt |dd¡}ttj|dd    dt |d¡ƒ| dd
¡ ¡}ttj|dd dt |d¡ƒ| dd
¡ ¡}ttj|d d gddtj|d d gddƒttj|d d gddtj|d d gddƒt     d¡ 
d¡}tj  |  ¡¡ttj|d dddt |dd…dd…dd…df  ¡d ¡ƒttj|ddgdddd…d
ft |dd…dd…d
dd…f  ¡ddg¡ƒttj|d dddt |dd…dd…ddd…f  ¡d ¡ƒttj|d dddt |ddd…dd…dd…f  ¡d ¡ƒttj|d dddt |dd
dd…dd…f  ¡d ¡ƒttj|d dddt |ddd…dd…d
f  ¡d ¡ƒttj|d dddt |ddd…ddd…f  ¡d ¡ƒdS)N©éGé©r#r›r;rYrrrXrrfrLrdrŸr’rK©r郩rSrTrkr®éZ©rrLrS©rSrLrrJ©rSrLrJr†©rJrL©rLrR©rLrSrO)r6r±ÚnormalÚdstackrrMÚmoveaxisr†rœr7rlÚshuffleÚravelÚflatten©r_rQr·rþr<r<r=Útest_extended_axisÈ sJÿÿ&ÿ *ÿ&ÿ&ÿ"ÿ"ÿ"ÿz!TestPercentile.test_extended_axiscCs¢t d¡}ttjtj|dddttjtj|dddttjtj|dddttjtj|dddtttj|dddtttj|d    ddtttj|d
dddS) Nr˜r2rŸ)rsrŸ©rr2rH©rrHrQ)rXrX)rSrX)r6r]r rvrMr\rˆr<r<r=Útest_extended_axis_invalidè s
z)TestPercentile.test_extended_axis_invalidcCsæt d¡}ttj|ddddjdƒttj|ddddjdƒttj|ddddjd    ƒttj|dd
ddjd ƒttj|dd dd jdƒttj|ddddjdƒttj|ddgdddjdƒttj|ddgdddjdƒdS)Nr˜rkTr²©rLrLrLrLrY©rLrLrkr®ru©rLrTrkrLrÝ©rSrLrkr®©rrLrJrS)r³rš©rLrLrkrLrL)rJrLrLrkrL)rJrLrTrkrL)r6r]rrMrArˆr<r<r=Ú test_keepdimsó s:
ÿÿÿÿÿÿÿÿÿÿzTestPercentile.test_keepdimsrŸrkrLrsNrÝrY©rUrX©ÚargnamesZ    argvaluescst d¡‰|dkrdˆj}n*t|ˆjƒ‰t‡‡fdd„tˆjƒDƒƒ}t |¡|}t |¡}tjˆ||d|d}||ks€t    ‚t
|j|ƒdS)Nr˜rÝc3s$|]}|ˆkrdnˆj|VqdS©rLN©rArõ©Z    axis_normrþr<r=rá sz3TestPercentile.test_keepdims_out.<locals>.<genexpr>T©rsr³rf) r6r]r…r4rKr^rArrMr¶r)r_rŸrsÚ    shape_outrfr}r<r·r=Útest_keepdims_out s
  ÿ
 z TestPercentile.test_keepdims_outcCs¾t d¡}t d¡}ttj|dd|d|ƒttj|ddd|d|ƒt d¡}ttj|dd|d|ƒttj|ddd|d|ƒt d    ¡}ttj|d
|d|ƒttj|d
d|d|ƒdS) N©rHrîrrzrJr|rwrLr<rJ)r6r?r]rrM©r_rQrþr<r<r=Útest_out! s
 
 
 
zTestPercentile.test_outc    CsîtjddØt ddt¡t d¡}t d¡}tj|d<ttj    |dd|d    |ƒttj    |ddd
|d |ƒt d ¡}ttj    |d d |d    |ƒttj    |d d d
|d |ƒt d¡}ttj    |d |d    |ƒttj    |d d
|d |ƒW5QRXdS)NTr
r r r»rîrrrzrJr|rwrLr<)
rrrr¼r6r?r]rürrMr¼r<r<r=Ú test_out_nan. s,
 
 
ÿ
ÿ
ÿzTestPercentile.test_out_nancCs:tjdtd}tj|d<tt |d¡tjƒttj|dddtjƒttj|ddgddt tjgd¡ƒtjdtd ddd    ¡}tj|d
<tj|d <tt |d¡tjƒtt |d¡jdƒt tjdtd ddd    ¡dd¡}tj|d <tj|d <tt |dd¡|ƒt tjdtd ddd    ¡ddgd¡}tj|dd…ddf<tj|dd…ddf<tt |ddgd¡|ƒt tjdtd ddd    ¡dd¡}tj|d<tj|d <tt |dd¡|ƒt tjdtd ddd    ¡ddgd¡}tj|dd…ddf<tj|dd…ddf<tt |ddgd¡|ƒt tjdtd ddd    ¡dd¡}tj|d<tj|d<tt |dd¡|ƒt tjdtd ddd    ¡ddgd¡}tj|dd…df<tj|dd…df<tt |ddgd¡|ƒtjtjdtd ddd    ¡ddgddd}tj|dd…df<tj|dd…df<ttj|ddgddd|ƒdS)NrrÓrJrrrrg333333ã?rSrHr…©rLrLrJrÔrerLrŸrPrJrK)    r6r7r+rürrMr€rlr…rzr<r<r=Útest_nan_behavior@ s‚
ÿ
 
"
 
ÿ"
 
ÿÿ
 
ÿÿÿÿz TestPercentile.test_nan_behaviorc    Cs¬tjtddt ddddgtj¡W5QRXtjtddt ddddgtjg¡W5QRXt ddd    ¡}tj|d
<tjtddt ddddg|¡W5QRXdS) NzPercentiles must be inr.rLrJrSr¯r¨gÀX@r>r)rárr\r6rMrür¯)r_rŸr<r<r=Ú
test_nan_q} s "
zTestPercentile.test_nan_q).rnrorprarOrRrSrárârãr6Ú    typecodesrXrÃr¾r¿rÆrHrIZ clongdoublerÀZH_F_TYPE_CODESrfZ
TYPE_CODESrkrorqrrrsrlr€rƒr„r‡r‰rrr‘r§rªr±rºr½r¾rÀrÁr<r<r<r=rI{ sŠ    
 
ÿ
 
 
 
 
 
 
ùþ  øÿ  
 
 
 
    $0)      ûþ
 =rIc@sÎeZdZdd„Zdd„Zejjdddd„ƒZd    d
„Z    d d „Z
ej  d e j d¡dd„ƒZej  ddddddddddddddg ¡dd „ƒZejee jejd!d"d#ejd$d$d%d&d'd(d)d*d+„ƒZd,d-„Zd.S)/Ú TestQuantilecCs,dddg}t |d¡}tjj|ddddS)NrªrrÉgÍÌÌÌÌÌÜ?g
×£p=
Ç?rL)Zmaxulp)r6ÚquantilerWZassert_array_max_ulp)r_r·r`r<r<r=Ú test_max_ulpŒ s
 zTestQuantile.test_max_ulpcCsHt d¡d}tt |d¡dƒtt |d¡dƒtt |d¡dƒdS)NrirµrrªrLrHr¬)r6r7rrÄr"r<r<r=ra” szTestQuantile.test_basicz See gh-19154rdcCsnt dg¡}t dd¡}t||dƒtt|ƒ|jƒt dddg¡}t ||¡}t||ƒt|j|jƒdS)NTFr)r6r€rÄrrÎrÀr)r_r`Ztf_quantZ    quant_resr<r<r=Útest_correct_quantile_valueš s   
z(TestQuantile.test_correct_quantile_valuecCs8dd„tdƒDƒ}t |d¡}t|dƒtt|ƒtƒt |d¡}t|tddƒƒtt|ƒtƒt |tddƒ¡}t|tddƒƒtt|ƒtƒt |tddƒg¡}t|t tddƒg¡ƒtt|ƒtjƒt |tddƒgg¡}t|t tddƒgg¡ƒtt|ƒtjƒt d¡}tt |tddƒ¡tddƒƒdS)    NcSsg|]}t|dƒ‘qSrNrrõr<r<r=rܧ sz.TestQuantile.test_fraction.<locals>.<listcomp>rirrLrkrJrH)    r^r6rÄrrÎrr€rÌr7)r_r·rŸr<r<r=rO¥ s$ 
 
zTestQuantile.test_fractioncCspt dddddg¡}| ¡}tjt d¡|ddt||ƒ| ¡}| ¡}tjt d¡|ddt||ƒdS)    Nrrtr¸rµr¨rŽrmrK)r6r€rœrÄr7rrñ)r_Úp0r&r<r<r=rÀ s
z TestQuantile.test_no_p_overwriterÀr‘cCs2tjtjddg|ddgdd}|j|ks.t‚dS)NrLrJrÓrµrJrK)r6rÄr€rÀr¶)r_rÀr˜r<r<r=Útest_quantile_preserve_int_typeÌ sÿz,TestQuantile.test_quantile_preserve_int_typerLr[r\r^r_r`rarPrcrdrJrgrhrmcCsˆt ddd¡}tjt dddddddddddddddd    d    d
g¡d ||d }tt |¡|ƒtjd dddg||d }tt |¡|ƒdS)NrrLr‚rJrSrHrTrårirkrerKrªr¨r§r©)r6r¯rÄr€rr³)r_rLrÇrÄr<r<r=Útest_quantile_monotonicÒ s    &ÿÿÿz$TestQuantile.test_quantile_monotonicrSrˆ)Ú    min_valueÚ    max_valueFçœuˆ<ä7þçœuˆ<ä7~)Úallow_infinityÚ    allow_nanrÊrË)rÀrAÚelements)ræcCs.t ddd¡}t ||¡}tt |¡|ƒdS)NrrLg{®Gáz„?)r6r7rÄrr³)r_rærÇrÄr<r<r=Útest_quantile_monotonic_hypoä s z)TestQuantile.test_quantile_monotonic_hypocCsZt dddgdddgg¡}tj|dd<t |d    ¡}t |¡sBt‚tt |d    ¡tjƒdS)
Nr3r9r¯r©r§r¨rrLrµ)r6r€rürÄr~r¶r)r_r`rÄr<r<r=Útest_quantile_scalar_nanî s
 z%TestQuantile.test_quantile_scalar_nanN)rnrorprÅrarárârƒrÆrOrrãr6rÂrÈrÉÚ
hypothesisÚgivenrr¿ÚstZintegersÚfloatsrÑrÒr<r<r<r=rÉ sD 
 
 
ýÿ
 ÿþÿ
rÃc
@sêeZdZejejdddddejdddddejdddddejdddddddd    „ƒZejejdddddejdddddejdddddd
d d „ƒZejejdddddejdddddejdddddd
d d„ƒZ    dd„Z
dS)ÚTestLerpFrrL)rÏrÎrÊrËrÌrÍ)Út0Út1r`r{cCsht |||¡}t |||¡}||ks,||kr:||ksdt‚n*||k||kkrX||ksdt‚n ||ksdt‚dSr5©r@Ú_lerpr¶)r_rØrÙr`r{Zl0Úl1r<r<r=Ú+test_linear_interpolation_formula_monotonic÷ s    z4TestLerp.test_linear_interpolation_formula_monotonic)Útr`r{cCsV||kr.|t |||¡kr&|ksRnt‚n$|t |||¡krL|ksRnt‚dSr5rÚ)r_rÞr`r{r<r<r=Ú)test_linear_interpolation_formula_bounded    s&z2TestLerp.test_linear_interpolation_formula_boundedcCs6t ||dd|¡}t ||d|¡}t||ƒdSrï)r@rÛr )r_rÞr`r{r r"r<r<r=Ú+test_linear_interpolation_formula_symmetricsz4TestLerp.test_linear_interpolation_formula_symmetriccCs8t d¡}t d¡}t d¡}t |||¡dks4t‚dS)NrJrTrgÍÌÌÌÌÌ@)r6r€r@rÛr¶)r_r`r{rÞr<r<r=Ú+test_linear_interpolation_formula_0d_inputs!s
 
 
z4TestLerp.test_linear_interpolation_formula_0d_inputsN) rnrorprÓrÔrÕrÖrÝrßràrár<r<r<r=r×ö s^ ÿÿÿÿú
 
ÿÿÿü
 ÿÿÿü
r×c@sÔeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zej     
d d d dgd e j dge j df¡dd„ƒZ dd„Zdd„Zdd„Zej    jedddd„ƒZdd„Zdd„Zd d!„Zd"d#„Zej    j
d$d%d&d'd(d)gd*d+d,„ƒZd%S)-Ú
TestMediancCsHt d¡}t d¡}t d¡ dd¡}tt |¡dƒtt |¡dƒtt |¡dƒttj|ddd    dd
gƒttj|dddd gƒttj|dddƒt d d ddg¡}t|d|ddt |¡ƒt d d dg¡}t|dt |¡ƒt d dd g¡}t|dt |¡ƒtt |¡jdƒtj    |d<tt |¡jdƒdS)NrLrJrjrSrµr¶rrrr rHrHgð™6-¦?gº ¤0”¸§?gºÝË}rÂ?g©Á4 ¯?r§rX)
r6r€r7rlrÚmedianr r    r…rü)r_Úa0r&rNr`r<r<r=ra*s$
 
 
zTestMedian.test_basiccCsèt ddgddgddgddgg¡}|tjjdd    d
d fD]B}| ¡}tj|dd t|jƒD]}tj||d q\t||ƒq8t    tj|dd ddgƒt    tj|j
dd ddgƒt    t |¡d ƒt    tj|dd d ƒt    t |j
¡d ƒdS)NrJrSrrLrjrkrHrTrrr•rrrH) r6r€r±Úrandintrœrãr^r…rr r)r_Úa3r`ÚorigZaxr<r<r=Útest_axis_keyword@s 
ý zTestMedian.test_axis_keywordcCsàt ddgddgddgddgg¡}t d¡}t d¡}t d¡ dd¡}ttj| ¡d    d
dƒttj| ¡d    d
d ƒttj| ¡d    d
d ƒttj| ¡d    dd dd dgƒttj| ¡d    dd ddgƒttj| ¡d    dd d ƒttj| ¡d    dd ddgƒttj|j ¡d    dd ddgƒtjdtjd d¡}tj     
|  ¡¡ttj|ddtj| ¡dd    dƒttj|ddtj| ¡dd    dƒttj|ddtj| ¡dd    dƒttj|ddtj| ¡dd    dƒdS)NrJrSrrLrjrkrHrTTrŠrµr¶)r‹rsr rHr’rÓ)rSrHrTrr)rsr‹) r6r€r7rlr rãrœrr¾r±r£r¤)r_rærär&rNZa4r<r<r=Útest_overwrite_keywordRsV
ý
 
ÿÿÿÿÿÿÿÿÿz!TestMedian.test_overwrite_keywordcCsHdddg}tt |¡dƒ|g}tt |¡dƒttj|dd|ƒdS)NrLrJrSrrr)r    r6rãr )r_r·r­r<r<r=r£ss
 
zTestMedian.test_array_likecCs4Gdd„dtjƒ}|dddgƒ}tt |¡dƒdS)Nc@s eZdZddd„Zddd„ZdS)z,TestMedian.test_subclass.<locals>.MySubClassNcSst |¡ |¡}||_|Sr5)r6rrÍÚinfo)ÚclsZ input_arrayrêÚobjr<r<r=Ú__new__~sz4TestMedian.test_subclass.<locals>.MySubClass.__new__cSsdS)Néùÿÿÿr<)r_rsrÀrfr<r<r=r«ƒsz1TestMedian.test_subclass.<locals>.MySubClass.mean)N)NNN)rnrorprír«r<r<r<r=Ú
MySubClass|s
rïrLrJrSrî)r6rÌrrã)r_rïr`r<r<r=r!zs
zTestMedian.test_subclassrær¨r§r©rªcCs:Gdd„dtjƒ}t t |¡ |¡¡}t||ƒs6t‚dS)z6Check that we return subclasses, even if a NaN scalar.c@s eZdZdS)z-TestMedian.test_subclass2.<locals>.MySubclassNrÊr<r<r<r=Ú
MySubclasssrðN)r6rÌrãr€rÍrr¶)r_rærðrér<r<r=Útest_subclass2‰szTestMedian.test_subclass2cCslt d¡}t d¡}ttj|d|d|ƒt d¡}ttj|d|d|ƒt d¡}ttj||d|ƒdS)Nr»rîrrzrwrLr<)r6r?r]rrãr¼r<r<r=r½“s
 
 
 
zTestMedian.test_outc    Csœtjdd†t ddt¡t d¡}t d¡}tj|d<ttj    |d|d    |ƒt d
¡}ttj    |d |d    |ƒt d ¡}ttj    ||d    |ƒW5QRXdS) NTr
r r r»rîrrrzrwrLr<)
rrrr¼r6r?r]rürrãr¼r<r<r=r¾œs
 
 
 
 
zTestMedian.test_out_nancCsftjdtd}tj|d<tt |¡tjƒttj|ddtjƒtjdtd ddd¡}tj|d<tj|d    <tt |¡tjƒtt |¡jdƒt tjdtd ddd¡d¡}tj|d
<tj|d <tt |d¡|ƒt tjdtd ddd¡d ¡}tj|d <tj|d <tt |d ¡|ƒt tjdtd ddd¡d¡}tj|d <tj|d<tt |d¡|ƒdS)NrrÓrJrrrrSrHr…r¿rÔrerLrŸrP)r6r7r+rürrãrlr…rzr<r<r=rÀ¨s*
 
 
 
 
 
 
 
 
zTestMedian.test_nan_behaviorzfp errors don't work correctlyrdc    CsZtjgtd}tjddF}t ddt¡tt |¡tj    ƒt
|dj tkƒtt |ƒdƒW5QRXtjgtdd    }tjdd8}t ddt¡tt |¡tj    ƒt
|dj tkƒW5QRXtjgtdd    }ttj|dd
|ƒttj|d d
|ƒtjtj    tdd    }tjdd:}t ddt¡ttj|dd
|ƒt
|dj tkƒW5QRXdS) NrÓTr
r r rrJrS)rÀrÈrrrL) r6r€r+rrrr¼rrãrürrrê)r_r`rÃr{r<r<r=r½Ès&zTestMedian.test_emptycCsLt d¡}ttt | t¡¡ƒtƒtj|d<ttt | t¡¡ƒtƒdS)Nr9rJ)    r6r7rrÎrãr½r—r+rü)r_rQr<r<r=Ú test_objectæs
 
zTestMedian.test_objectc
Cs’tjjdd}t |gd¡}ttj|ddt |¡ƒt |dd¡}ttj|ddt |¡ƒ| dd    ¡ ¡}ttj|d
dt |¡ƒttj|d dtj|ddƒttj|d dtj|ddƒttj|d dtj|ddƒt     d¡ 
d¡}tj  |  ¡¡ttj|d ddt |dd…dd…dd…df  ¡¡ƒttj|ddd    t |dd…dd…d    dd…f  ¡¡ƒttj|dddt |dd…dd…ddd…f  ¡¡ƒttj|dddt |ddd…dd…dd…f  ¡¡ƒttj|dddt |dd    dd…dd…f  ¡¡ƒttj|dddt |ddd…dd…d    f  ¡¡ƒttj|dddt |ddd…ddd…f  ¡¡ƒdS)Nr’r•r›rYrrrXrrfrLrdrKr–)rXr—r˜ršr›rJrœr†rržrŸrO)r6r±r r¡rrãr¢r†rœr7rlr£r¤r¥r¦r<r<r=r§ìsB$ÿ$ÿ$ÿ$ÿ ÿ ÿ ÿzTestMedian.test_extended_axiscCspt d¡}ttjtj|ddttjtj|ddttjtj|ddttjtj|ddtttj|dddS)Nr˜r2rrr¨rHr©rQ)r6r]r rvrãr\rˆr<r<r=rª
s 
z%TestMedian.test_extended_axis_invalidcCsžt d¡}ttj|dddjdƒttj|dddjdƒttj|dddjdƒttj|d    ddjd
ƒttj|d ddjdƒttj|d ddjd ƒdS)Nr˜Tr²r«rYr¬rur­rÝr®r¯ršr°)r6r]rrãrArˆr<r<r=r±s&
ÿÿÿÿÿÿzTestMedian.test_keepdimsrsNrLrÝrYr²r³cs€t d¡‰|dkrdˆj}n*t|ˆjƒ‰t‡‡fdd„tˆjƒDƒƒ}t |¡}tjˆ|d|d}||kspt‚t    |j
|ƒdS)Nr˜rÝc3s$|]}|ˆkrdnˆj|VqdSrµr¶rõr·r<r=rá1sz/TestMedian.test_keepdims_out.<locals>.<genexpr>Tr¸) r6r]r…r4rKr^rrãr¶rrA)r_rsr¹rfr}r<r·r=rº!s
  ÿ
 zTestMedian.test_keepdims_out)rnrorprarèrér£r!rárârãr6rürñr½r¾rÀrnrr½ròr§rªr±rºr<r<r<r=râ(s8!ÿ
      
ûþ
râc@seZdZdd„Zdd„ZdS)ÚTestAdd_newdoc_ufunccCs"tttddƒttttjdƒdS)NrJZblah)r rrr\r6r8rxr<r<r=Útest_ufunc_arg;sz#TestAdd_newdoc_ufunc.test_ufunc_argcCsttttjdƒdS)NrS)r rrr6r8rxr<r<r=Útest_string_arg?sz$TestAdd_newdoc_ufunc.test_string_argN)rnrorprôrõr<r<r<r=ró9sróc@s\eZdZejjejjdkddejj    e
dddd„ƒƒZ ejjejjdkdddd„ƒZ d    S)
ÚTestAdd_newdocrJúPython running -OOrdúPyPy does not modify tp_doccCsVd}ttjjjjdt|ƒ…|ƒtttjjj    jƒdkƒtttj
j j jƒdkƒdS)Nz"Current flat index into the array.r¿) rr6ÚcoreÚflatiterÚindexr2rêrZufuncÚidentityr¨Z index_tricksZmgrid)r_rOr<r<r=Ú test_add_docEszTestAdd_newdoc.test_add_doccCs2tjjjj}t ddd¡|tjjjjks.t‚dS)Nz
numpy.corerú)rûz bad docstring)r6rùrúrûr2Z
add_newdocr¶)r_Zprev_docr<r<r=Útest_errors_are_ignoredNs z&TestAdd_newdoc.test_errors_are_ignoredN) rnrorprárârnrir¡Úoptimizerƒr rýrþr<r<r<r=röCs
 röc@s\eZdZejjejjdkddejje    dddd„ƒƒZ
ejjejjdkdddd„ƒZ d    S)
ÚTestAddDocstringrJr÷rdrøcCs0t tjjtjjj¡dd„}t ||j¡dS)NcSsdS©Z    docstringNr<r<r<r<r=Úfunc`sz6TestAddDocstring.test_add_same_docstring.<locals>.func)r6Ú add_docstringrÌÚflatr2©r_rr<r<r=Útest_add_same_docstringZsz(TestAddDocstring.test_add_same_docstringc    CsPttƒt tjjd¡W5QRXdd„}ttƒt |d¡W5QRXdS)Nzdifferent docstringcSsdSrr<r<r<r<r=rlsz=TestAddDocstring.test_different_docstring_fails.<locals>.func)r rØr6rrÌrrr<r<r=Útest_different_docstring_failsfs
 
 
z/TestAddDocstring.test_different_docstring_failsN) rnrorprárârnrir¡rÿr rrr<r<r<r=rWs
 
rc    @s6eZdZej dddddddg¡dd    „ƒZd
d „Zd S) ÚTestSortComplexztype_in, type_out)ÚlÚD)Úhrž)ÚHrž)r{rž)rêrž)rÉÚGcCsNtjdddddg|d}t |¡}t |¡ |¡}t||ƒt|j|jƒdS)NrTrSrjrJrLrÓ)r6r€Ú sort_complexr³r½rrÀ)r_Ztype_inZtype_outr`rÄrsr<r<r=Útest_sort_realvs
 
 
 
zTestSortComplex.test_sort_realcCsRtjddddgdd}tjddddgdd}t |¡}t||ƒt|j|jƒdS)Nr8yð?Àr×r9r
rÓ)r6r€rrrÀ)r_r`rsrÄr<r<r=Útest_sort_complex†s
 
 
z!TestSortComplex.test_sort_complexN)rnrorprárârãrrr<r<r<r=rtsú
r)r¨)r¨rª)}rVrrirÙZ    fractionsrrýrárÓZhypothesis.extra.numpyrZhypothesis.strategiesZ
strategiesrÕÚnumpyr6rZ numpy.testingrrrr    r
r r r rrrrrZnumpy.lib.function_baser¨Z function_baser@Z numpy.randomrZ    numpy.librrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3Znumpy.core.numericr4r>rFrGrqrr˜ršr¦rär    r1r6r7r:rPr\r`rršrÔrÞrôrrrr\ror„rârãrÂr“rr¡r¤r¦r«rÇrÞrárärårúrrrIrÃr×rârórörrr<r<r<r=Ú<module>s¨    < ˆ  Dg#>o   u}A)
 
*)Uÿl> [j4nd`Cm2