hyb
2026-01-09 4cb426cb3ae31e772a09d4ade5b2f0242aaeefa0
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
Ë
Kñúhˆãó”—ddlZddlZddlmZmZmZddlmZmZm    Z    m
Z
m Z m Z m Z mZmZmZGd„d«ZGd„d«ZGd„d    «Zy)
éN)Ú    histogramÚhistogram_bin_edgesÚ histogramdd)
Úassert_Úassert_allcloseÚassert_almost_equalÚassert_array_almost_equalÚassert_array_equalÚassert_array_max_ulpÚ assert_equalÚ assert_raisesÚassert_raises_regexÚsuppress_warningscó—eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d „Z"e#jHjKd!¬"«d#„«Z&d$„Z'd%„Z(y&)'Ú TestHistogramcó—y©N©©Úselfs úRH:\Change_password\venv_build\Lib\site-packages\numpy/lib/tests/test_histograms.pyÚ setup_methodzTestHistogram.setup_methodó€Ø ócó—yrrrs rÚteardown_methodzTestHistogram.teardown_methodrrcó—d}tjj|«}t|«\}}t    tj
|d¬«|«ttj ddd««\}}t|d«y)Nédr©Úaxisé
)ÚnpÚrandomÚrandrr ÚsumÚlinspacer
)rÚnÚvÚaÚbs     rÚ test_simplezTestHistogram.test_simplesb€Ø ˆÜ I‰IN‰N˜1Ó ˆÜ˜1“‰ˆˆAä”R—V‘V˜A AÔ&¨Ô*ôœ2Ÿ;™; q¨"¨cÓ2Ó3‰ˆˆAܘ1˜bÕ!rcó8—tgd¢ddg«\}}t|dg«t|ddg«tttddgd¬«tddgd¬«\}}t    |t j dg««t|t j ddg««y)N©éééér.r/r©Úbinsçð?ç@)rr
r Ú
ValueErrorr r"Úarrayr)rÚhistÚedgesÚhÚes     rÚ test_one_binzTestHistogram.test_one_bin&s€ä¢ ¨q°!¨fÓ5‰ ˆˆeܘ4 ! Ô'ܘ5 1 a &Ô)Ü”j¤)¨a°¨V¸!Õ<ܘ!˜Q˜ aÔ(‰ˆˆ1ܐQœŸ™ ! › Ô&ܘœ2Ÿ8™8 R¨ HÓ-Õ.rcóò—d}tjj|«}t|d¬«\}}tj|tj
|«z«}t |d«tjd«}gd¢}t||d¬«\}}t|d«ttj|tj
|«z«d«t||d¬«\}}t|gd    ¢«tjd«}d
dd d tjg}t||d¬«\}}t|gd ¢«tjgd    ¢ddtjgd¬«\}}t|dd
g«y)NrT©Údensityr.r!©rr.r0ér!皙™™™™¹?Fr-rr0rA)rBrBrBççà?çø?çÐ?) r"r#r$rr%ÚdiffrÚaranger
r Úinf)    rr'r(r)r*Úarear3ÚcountsÚdmys             rÚ test_densityzTestHistogram.test_density0s.€à ˆÜ I‰IN‰N˜1Ó ˆÜ˜ DÔ)‰ˆˆ1܏v‰vaœ"Ÿ'™' !›*‘nÓ%ˆÜ˜D !Ô$ô I‰Ib‹MˆÚˆÜ˜˜D¨$Ô/‰ˆˆ1ܘ1˜bÔ!Ü”R—V‘V˜A¤§¡¨£
™NÓ+¨QÔ/ô˜˜D¨%Ô0‰ˆˆ1ܘ1šlÔ+ô I‰Ib‹MˆØ1a˜œBŸF™FÐ#ˆÜ˜˜D¨$Ô/‰ˆˆ1ܘ1Ò.Ô/ô—l‘lÚ ˜3 ¤R§V¡VÐ,°dô<‰ ˆäV˜c 1˜XÕ&rcól—tjd«dz}t|ddg¬«\}}t|j    «d«t|ddg¬«\}}t|j    «d«t|ddgd¬«\}}t |tj |«zj    «dd    ¬
«tjd«dz}t|ddg|d¬ «\}}t|tj |«zj    «d«t|d ddg|¬ «\}}t||dd«y)Nr!rDré    ©Úranger.T©rQr?é©Údecimal©rQÚweightsr?é©r3rQrWéÿÿÿÿ)r"rHrr r%rrG)rr)r:r*Úws     rÚ test_outlierszTestHistogram.test_outliersPs €ä I‰Ib‹M˜BÑ ˆô˜ 1 a &Ô)‰ˆˆ1ܐQ—U‘U“W˜aÔ ô˜ 1 b 'Ô*‰ˆˆ1ܐQ—U‘U“W˜aÔ ô˜ 1 a &°$Ô7‰ˆˆ1ܘQ¤§¡¨£™^×0Ñ0Ó2°A¸rÕBô I‰Ib‹M˜BÑ ˆÜ˜ 1 a &°!¸TÔB‰ˆˆ1ܐaœ"Ÿ'™' !›*‘n×)Ñ)Ó+¨QÔ/䘠¨1¨a¨&¸!Ô<‰ˆˆ1ܐQ˜˜!˜B˜Õ rcó֗tjd«dz}tjd«dz}ttd«5t    |ddg|d¬«\}}ddd«y#1swYyxYw)    Nr!rDé z same shape asr.rOTrV)r"rHrr6r)rr)r[r:r*s     rÚtest_arr_weights_mismatchz'TestHistogram.test_arr_weights_mismatchhsa€Ü I‰Ib‹M˜BÑ ˆÜ I‰Ib‹M˜BÑ ˆÜ  ¤¨_Ó =ñ    GܘQ q¨! f°aÀÔF‰DˆAˆq÷    G÷    Gñ    Gús ÁAÁA(cóÈ—tjd«dz}t|«\}}ttj|j
tj ««t|d¬«\}}ttj|j
tj««t|tjdt«¬«\}}ttj|j
tj ««t|tjdt«¬«\}}ttj|j
tj««y)Nr!rDTr>©rW) r"rHrrÚ
issubdtypeÚdtypeÚintegerÚfloatingÚonesÚintÚfloat)rr)r:r*s    rÚ    test_typezTestHistogram.test_typensӀä I‰Ib‹M˜BÑ ˆÜ˜‹|‰ˆˆ1Ü”— ‘ ˜aŸg™g¤r§z¡zÓ2Ô3䘠DÔ)‰ˆˆ1Ü”— ‘ ˜aŸg™g¤r§{¡{Ó3Ô4䘤B§G¡G¨B´Ó$4Ô5‰ˆˆ1Ü”— ‘ ˜aŸg™g¤r§z¡zÓ2Ô3䘤B§G¡G¨B´Ó$6Ô7‰ˆˆ1Ü”— ‘ ˜aŸg™g¤r§{¡{Ó3Õ4rcó —tjgd¢tj¬«}tjgd¢tj¬«}tj||d¬«\}}}t    |j «d«y)N)g2V›ÿEq@g“áx>fQÀg-³ÅVT5@©rc)g!çý°³@gö·àS±@g§’ ^z·@rr2ç@)r"r7Úfloat32Ú histogram2dr r%)rÚxÚyÚ counts_histÚxedgesÚyedgess      rÚtest_f32_roundingzTestHistogram.test_f32_rounding}sV€ä H‰HÒ8ÄÇ
Á
Ô KˆÜ H‰HÒ<ÄBÇJÁJÔ OˆÜ&(§n¡n°Q¸ÀÔ&DÑ#ˆ V˜Vܐ[—_‘_Ó&¨Õ+rcóz—tjgd¢tj¬«}tj|«\}}t    «5}|j t d«}tjgd¢«\}}tt|«d«t||«t||«ddd«y#1swYyxYw)N)r.r.rrkzConverting input from .*)TTFr.)
r"r7Úuint8rrÚrecordÚRuntimeWarningr Úlenr
)rr)Úint_histÚ    int_edgesÚsupÚrecr8r9s        rÚtest_bool_conversionz"TestHistogram.test_bool_conversion„s€ô H‰H’Y¤b§h¡hÔ /ˆÜ Ÿl™l¨1›oш)ô
Ó  ð    1 CØ—*‘*œ^Ð-GÓHˆCÜŸ,™,Ò':Ó;‰KˆD%ä œ˜S› 1Ô %Ü ˜t XÔ .Ü ˜u iÔ 0÷     1÷    1ñ    1ús Á
AB1Â1B:cób—tjjd«}tjd«dz}t    |«\}}t    |d¬«\}}t    ||¬«\}}t    ||d¬«\}    }
t |dz|«t ||    «tj ddd«}tjtjd«tjd«f«}t    |tjd    «|¬
«\}}t ||«t    gd ¢d gd ¢¬
«\}}t|gd¢«t    gd ¢d gd ¢d¬«\}}t |tjgd¢«dz dz d z«t    tjd«gd¢gd¢d¬«\}}t|gd¢«y)NréTr>ra©rWr?rr!r^©r3rW)r.r/r/r1r1)r1r0r/r.)r1r€rr.)r3rWr?g$@rlrOr@)    r/r.r.r.r.r.r.r.r.)皙™™™™É?rBrBg333333³?) r"r#r$rfrr    r&Ú concatenateÚzerosrHr
r7r) rr(r[r)r*ÚnaÚnbÚwaÚwbÚnwaÚnwbs            rÚ test_weightszTestHistogram.test_weights•s`€Ü I‰IN‰N˜3Ó ˆÜ G‰GC‹L˜1Ñ ˆÜ˜‹|‰ˆˆ1ܘ1 dÔ+‰ˆˆBܘ1 aÔ(‰ˆˆBܘQ¨°4Ô8‰ˆˆSÜ! ! a¡%¨Ô,Ü! " cÔ*ô K‰K˜˜2˜rÓ "ˆÜ N‰NœBŸH™H Q›K¬¯©°«Ð4Ó 5ˆÜ˜1¤2§9¡9¨R£=¸!Ô<‰ˆˆBÜ! " aÔ(ôš<¨aºÔF‰ˆˆBܘ2š|Ô,ÜÚ ˜qª,ÀôF‰ˆˆBä! "¤b§h¡hª|Ó&<¸sÑ&BÀRÑ&GÈ!Ñ&KÔLôÜ I‰Ia‹LÒ*Ú/¸ô?‰ˆˆ1ô    ˜AÒ1Õ2rc    ó—tjgd¢«}tjgd¢«dtjgd¢«zz}t|gd¢|¬«\}}t|tjddg«dtjdd    g«zz«t|ddd    g|¬
«\}}t|tjddg«dtjdd    g«zz«d d lm}tjgd¢«}tj|d«|d«|d    «g«}t|gd¢|¬«\}}t||d«|d «g«t|ddd    g|¬
«\}}t||d«|d «g«y)N©gÍÌÌÌÌÌô?ç@gffffff@)r.rZr/yð?)r/r.r/)rr/r0r‚r.r/r0rYr)ÚDecimalr€)r"r7rr    rUr)rÚvaluesrWrˆr‰rs      rÚtest_exotic_weightsz!TestHistogram.test_exotic_weights²sM€ô —‘š/Ó*ˆÜ—(‘(š:Ó&¨¬b¯h©h²yÓ.AÑ)AÑAˆô˜6ª    ¸7ÔC‰ˆˆBÜ! "¤b§h¡h°°1¨vÓ&6¸¼b¿h¹hÈÈ1ÀvÓ>NÑ9NÑ&NÔOô˜6¨°!°Q°ÀÔI‰ˆˆBÜ! "¤b§h¡h°°1¨vÓ&6¸¼b¿h¹hÈÈ1ÀvÓ>NÑ9NÑ&NÔOõ    $Ü—‘š/Ó*ˆÜ—(‘(™G A›J©°«
±G¸A³JÐ?Ó@ˆô˜6ª    ¸7ÔC‰ˆˆBÜ! "¡w¨q£z±7¸1³:Ð&>Ô?ô˜6¨°!°Q°ÀÔI‰ˆˆBÜ! "¡w¨q£z±7¸1³:Ð&>Õ?rcó‚—tjgd¢«}tj|ddgd¬«t|gd¢«y)NrŽéöÿÿÿr!r)rQr3)r"r7rr    )rr‘s  rÚtest_no_side_effectsz"TestHistogram.test_no_side_effectsÐs0€ô—‘š/Ó*ˆÜ
 ‰ V C¨ 9°3Õ7Ü! &ª/Õ:rcóª—tgddg¬«\}}t|tjdg««t|tjddg««y)Nrr.r2©rr
r"r7©rr)r*s   rÚ
test_emptyzTestHistogram.test_empty×sA€Ü˜ A q 6Ô+‰ˆˆ1ܘ1œbŸh™h¨ s›mÔ,ܘ1œbŸh™h¨¨1 vÓ.Õ/rcóx—tjddd¬«}t|d«ttt|d«y)NrCr4r©Únumr€g333333@)r"r&rr Ú    TypeError©rÚvalss  rÚtest_error_binnum_typez$TestHistogram.test_error_binnum_typeÜs,€ä{‰{˜3 ¨Ô-ˆÜ$˜ÔÜ”i¤¨D°#Õ6rcóî—tjddd¬«}t|ddg¬«ttt|tj
dg¬«ttt|dtj g¬«y)NrCr4rr›rFçè?rP)r"r&rr r6ÚnanrIržs  rÚtest_finite_rangezTestHistogram.test_finite_rangeâsN€ä{‰{˜3 ¨Ô-ˆÜ$˜t T˜lÕ+Ü”j¤)¨T¼"¿&¹&À$¸ÕHÜ”j¤)¨T¸$ÄÇÁ¸ÖHrcó°—tjddd¬«}ttd«5tj|ddg¬«ddd«y#1swYyxYw)    NrCr4rr›zmax must be larger thanrBg{®Gáz„?rP)r"r&rr6rržs  rÚtest_invalid_rangez TestHistogram.test_invalid_rangeésF€ä{‰{˜3 ¨Ô-ˆÜ  ¤Ð-FÓ Gñ    2Ü L‰L˜ c¨4 [Õ 1÷    2÷    2ñ    2ús ©A Á Acóö—tjgd¢«}tj|dd¬«\}}|dkD}|dd|}|dd|}t|||«D]"\}}}    t    ||k\«t    ||    k«Œ$y)N)iQi”iãi&iïiiÜih )r/iè©r3rQrrZr.)r"r7rÚzipr)
rÚarrr8r9ÚmaskÚ
left_edgesÚ right_edgesroÚleftÚrights
          rÚtest_bin_edge_casesz!TestHistogram.test_bin_edge_casesïs…€äh‰hÒ=Ó>ˆÜ—l‘l 3¨T¸ÔC‰ ˆˆeؐa‰xˆØ˜3˜BZ Ñ%ˆ
ؘA˜Bi ‘oˆ Ü! # z°;Ó?ò    ‰NˆAˆtUÜ A˜‘IÔ Ü A˜‘IÕ ñ    rcó†—tjgd¢«}tj|dd¬«\}}t|dd«y)N©    rCrCrCr4r5rlrlg@g@é©çà¿r€r¨rZr.)r"r7rr )rrªr8r9s    rÚtest_last_bin_inclusive_rangez+TestHistogram.test_last_bin_inclusive_rangeús5€Üh‰hÒCÓDˆÜ—l‘l 3¨R°yÔA‰ ˆˆeܐT˜"‘X˜qÕ!rcóâ—tjddd¬«}tjddgddgg«}ttd«5tj
||¬    «ddd«y#1swYyxYw)
NrCr4rr›rrDg333333ã?z
must be 1dr2)r"r&r7rr6r)rrŸr3s   rÚtest_bin_array_dimsz!TestHistogram.test_bin_array_dimsÿs\€ä{‰{˜3 ¨Ô-ˆÜx‰x˜!˜S˜ C¨ :Ð.Ó/ˆÜ  ¤¨\Ó :ñ    *Ü L‰L˜ DÕ )÷    *÷    *ñ    *ús ÁA%Á%A.cóޗtjdg«}tjgd¢d¬«}tt«5tj||¬«\}}ddd«y#1swYyxYw)Nr/)r.r0r.Úuint64rkr2)r"r7r r6r)rrªr3r8r9s     rÚ test_unsigned_monotonicity_checkz.TestHistogram.test_unsigned_monotonicity_checksT€ôh‰h˜s‹mˆÜx‰xš    ¨Ô2ˆÜ œ:Ó &ñ    7ÜŸ,™, s°Ô6‰KˆD%÷    7÷    7ñ    7ús ¿A#Á#A,c
ó~—ttttd«Dcgc]}t    j
d«‘Œc}tj gz«ttttd«Dcgc]}t    j
d«‘Œc}tj gz«t    jtd«Dcgc]}t    j
d«‘Œc}dgz«t    jtd«Dcgc]}t    j
d«‘Œc}dgz«ycc}wcc}wcc}wcc}w)Nr!gš™™™™™Ù?rDgà?)r r6rrQr"r7rI)rÚis  rÚtest_object_array_of_0dz%TestHistogram.test_object_array_of_0dsЀä”jÜ ¬u°R«yÖ9¨!œŸ™  Ò9¼b¿f¹f¸W¸IÑEô    Gä”jÜ ¬u°R«yÖ9¨!œŸ™  Ò9¼R¿V¹V¸HÑDô    Fô      ‰ ¬U°2«YÖ7¨”b—h‘h˜s•mÒ7Ð;KÐ:LÑLÔMÜ
 ‰ ¬U°2«YÖ7¨”b—h‘h˜s•mÒ7¸2¸$Ñ>Õ?ùò :ùâ9ùò8ùÚ7sD+ Á/D0 ÃD5ÄD:cóÚ—tjddtjg«}tjtjtjg«}t«}|j    t
«|5t tt|d¬«t tt|d¬«t|dd¬«\}}t|j«d«t|dd¬«\}}t|j«d«t|ddg¬«\}}t|j«d«t|ddg¬«\}}t|j«d«ddd«y#1swYyxYw)Nrr.Úautor2©rr.r¨r/) r"r7r£rÚfilterrxr r6rr r%)rÚone_nanÚall_nanr|r:r*s      rÚtest_some_nan_valuesz"TestHistogram.test_some_nan_valuess€ä—(‘(˜A˜q¤"§&¡&˜>Ó*ˆÜ—(‘(œBŸF™F¤B§F¡FÐ+Ó,ˆô Ó!ˆØ 
‰
”>Ô"Ø ñ    %ä œ*¤i°¸vÕ FÜ œ*¤i°¸vÕ Fô˜W¨6¸Ô@‰DˆAˆqÜ ˜Ÿ™› !Ô $ܘW¨6¸Ô@‰DˆAˆqÜ ˜Ÿ™› !Ô $ô˜W¨A¨q¨6Ô2‰DˆAˆqÜ ˜Ÿ™› !Ô $ܘW¨A¨q¨6Ô2‰DˆAˆqÜ ˜Ÿ™› !Ô $÷    %÷    %ñ    %ús Á;CE!Å!E*có„—tjdd«}tjgd¢«}tjgd¢«}||z}||z}tjd«}t    ||¬«\}}t    |j |«|j |«¬«\}    }
t    ||¬«\} } t || «t |    | «t ||z
j t«| «t |
j t«| «t |j|j«t |
j|«y)Nz
2000-01-01ÚD)    rrr.r.r/r0r€r!é)rr/érÈztimedelta64[D]r2)r"Ú
datetime64r7rcrÚastyper rg) rÚbeginÚoffsetsr3ÚdatesÚ    date_binsÚtdÚd_countÚd_edgeÚt_countÚt_edgeÚi_countÚi_edges              rÚ test_datetimezTestHistogram.test_datetime2só€Ü— ‘ ˜l¨CÓ0ˆÜ—(‘(Ò8Ó9ˆÜx‰xš Ó&ˆØ˜‘ˆØ˜D‘Lˆ    ä X‰XÐ&Ó 'ˆô
$ E°    Ô:‰ˆÜ# G§N¡N°2Ó$6¸T¿[¹[È»_ÔM‰ˆÜ# G°$Ô7‰ˆäW˜gÔ&ܐW˜gÔ&äf˜u‘n×,Ñ,¬SÓ1°6Ô:ܐV—]‘]¤3Ó'¨Ô0äV—\‘\ 5§;¡;Ô/ܐV—\‘\ 2Õ&rcó—dtj|«jzdz
}tjd|z dzd|zdz
g|¬«}t    |d¬«\}}t |d|z dzdd|zdz
g«t |ddg«y)NrXr.r/r1rkr2r)r"rcÚitemsizer7rr )rrcÚexponentrªr8r;s      rÚdo_signed_overflow_boundsz'TestHistogram.do_signed_overflow_boundsKs‰€Ø”r—x‘x “×/Ñ/Ñ/°!Ñ3ˆÜh‰h˜˜H™˜  qÑ(¨!¨X©+¸©/Ð:À%ÔHˆÜ˜C aÔ(‰ˆˆaܐQ˜!˜X™+˜¨Ñ)¨1¨a°©k¸A©oÐ>Ô?ܐT˜A˜q˜6Õ"rcó:—|jtj«|jtj«|jtj«|jtj
«|jtj «yr)rÛr"ÚbyteÚshortÚintcÚint_Úlonglongrs rÚtest_signed_overflow_boundsz)TestHistogram.test_signed_overflow_boundsRs\€Ø ×&Ñ&¤r§w¡wÔ/Ø ×&Ñ&¤r§x¡xÔ0Ø ×&Ñ&¤r§w¡wÔ/Ø ×&Ñ&¤r§w¡wÔ/Ø ×&Ñ&¤r§{¡{Õ3rcóR—tj|«j}tjdg|«}tjd|zdg|«}|j    |«ddk7rytj
|d|¬«\}}t |dg«t |j|«y)Nr4r5rr.r¨©r"ÚfinfoÚepsr7rËrr rc©rÚ float_smallÚ float_largerærªrQÚcountÚx_locs        rÚdo_precision_lower_boundz&TestHistogram.do_precision_lower_boundYsŽ€Üh‰h{Ó#×'Ñ'ˆäh‰h˜u˜kÓ*ˆÜ—‘˜# ™) SÐ)¨;Ó7ˆð <‰<˜ Ó $ QÑ '¨1Ò ,Ø ô—|‘| C¨a°uÔ=‰ ˆˆuܐU˜Q˜CԠܐU—[‘[ +Õ.rcóR—tj|«j}tjdg|«}tjdd|z
g|«}|j    |«ddk7rytj
|d|¬«\}}t |dg«t |j|«y)Nr4rCrZr.r¨rrärçs        rÚdo_precision_upper_boundz&TestHistogram.do_precision_upper_boundhsŽ€Üh‰h{Ó#×'Ñ'ˆäh‰h˜u˜kÓ*ˆÜ—‘˜#˜s S™yÐ)¨;Ó7ˆð <‰<˜ Ó $ RÑ (¨AÒ -Ø ô—|‘| C¨a°uÔ=‰ ˆˆuܐU˜Q˜CÔ äU—[‘[ +Õ.rcóL—|j||«|j||«yr)rìrî)rrèrés   rÚ do_precisionzTestHistogram.do_precisionxs"€Ø ×%Ñ% k°;Ô?Ø ×%Ñ% k°;Õ?rcó,—|jtjtj«|jtjtj«|jtjtj
«|jtjtj«|jtjtj
«|jtjtj
«yr)rðr"ÚhalfÚsingleÚdoubleÚ
longdoublers rÚtest_precisionzTestHistogram.test_precision|s’€à ×Ñœ"Ÿ'™'¤2§9¡9Ô-Ø ×Ñœ"Ÿ'™'¤2§9¡9Ô-Ø ×Ñœ"Ÿ'™'¤2§=¡=Ô1Ø ×Ñœ"Ÿ)™)¤R§Y¡YÔ/Ø ×Ñœ"Ÿ)™)¤R§]¡]Ô3Ø ×Ñœ"Ÿ)™)¤R§]¡]Õ3rcó<—tgd¢ddg«\}}tgd¢ddg«}t||«tjgd¢«}t|dd¬«\}}t|dd¬«}t||«t|dd    ¬«\}}t|dd    ¬«}t||«y)
Nr-r.r/r²r³r´r¨rÀrÁ)rrr
r"r7)rr8r;r9rªs     rÚtest_histogram_bin_edgesz&TestHistogram.test_histogram_bin_edges…s“€ÜšL¨1¨a¨&Ó1‰ˆˆaÜ#¢L°1°a°&Ó9ˆÜ˜5 !Ô$äh‰hÒCÓDˆÜ˜C b°    Ô:‰ˆˆaÜ# C¨b¸    ÔBˆÜ˜5 !Ô$ä˜C f°FÔ;‰ˆˆaÜ# C¨f¸FÔCˆÜ˜5 !Õ$rcó²—tjddgdz«}tjtd¬«5t |d¬«ddd«y#1swYyxYw)Nr.gð?r!zToo many bins for data range)Úmatchr2)r"r7ÚpytestÚraisesr6r)rrªs  rÚtest_small_value_rangez$TestHistogram.test_small_value_range“sG€Üh‰h˜˜9~¨Ñ*Ó+ˆÜ ]‰]œ:Ð-KÔ Lñ    $Ü c Õ #÷    $÷    $ñ    $ús ¶A Á Az,Bad memory reports lead to OOM in ci testing)Úreasoncóԗtjddg«}d}d}tjd«}tj||||f¬«}t    t |«t d««y)Niáõr0ii€>)Úsampler3)r.r/)r"r…rHrr Útype)rrÚxbinsÚybinsÚzbinsr8s      rÚtest_big_arrayszTestHistogram.test_big_arraysšsU€ä—‘˜9 a˜.Ó)ˆØˆØˆÜ—    ‘    ˜%Ó ˆÜ~‰~ V°5¸%ÀÐ2GÔHˆÜ”T˜$“Z¤ f£Õ.rcó¬—tjtjdgd¬«dd¬«\}}tjddg«}t||«y)    Ng$ë°Áx€z>f8rkr/)gÒèxÖ0€ge¨Òl    €r¨r.r)r"rr7r
)rr8r;Ú expected_hists    rÚ test_gh_23110zTestHistogram.test_gh_23110£sG€Ü—,‘,œrŸx™x¨¨ ¸5ÔAØ$%Ø%7ô9‰ˆˆaôŸ™ ! Q Ó(ˆ ܘ4 Õ/rc ó®—d}dddddd||||||dg }tj|d¬«\}}t|«dksJ‚|d|dk(sJ‚|d|dk(sJ‚y)    Ng˜ð?rr.r/rÀr2r!rZ)r"rry)rr;ÚZrKr9s     rÚ test_gh_28400zTestHistogram.test_gh_28400ªsy€Ø ˆØ 1a˜˜A˜q ! Q¨¨1¨a°Ð 3ˆÜŸ ™  Q¨VÔ4‰ ˆÜ6‹{˜RÒÐÐØQ‰x˜1˜Q™4ÒÐÐØR‰y˜A˜b™EÒ!Ð!Ñ!rN))Ú__name__Ú
__module__Ú __qualname__rrr+r<rMr\r_rirtr~rŒr’r•r™r r¤r¦r°r¶r¸r»r¾rÅr×rÛrârìrîrðrörørýrûÚmarkÚskiprrr rrrrrsڄò ò ò    "ò/ò'ò@!ò0Gò 5ò,ò1ò"3ò:@ò<;ò0ò
7ò Iò2ò     ò"ò
*ò7ò    @ò%ò2'ò2#ò4ò /ò/ò @ò4ò %ò$ð ‡[[×ÑÐKÐÓLñ/óMð/ò0ó"rrcóâ—eZdZdZd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z e jjd gd ¢«d „«Ze jjd gd ¢«d„«Zd„Zd„Zy)ÚTestHistogramOptimBinNumsz]
    Provide test coverage when using provided estimators for optimal number of
    bins
    có¼—gd¢}|D]S}tg|¬«\}}t|tjdg««t|tjddg««ŒUy)N©ÚfdÚscottÚriceÚsturgesÚdoaneÚsqrtrÀÚstoner2rr.r—)rÚestimator_listÚ    estimatorr)r*s     rr™z$TestHistogramOptimBinNums.test_empty¸sU€ò<ˆð(ò    4ˆIܘR iÔ0‰DˆAˆqÜ ˜q¤"§(¡(¨A¨3£-Ô 0Ü ˜q¤"§(¡(¨A¨q¨6Ó"2Õ 3ñ    4rc ó´—dddddddddœdddddd    dd
dœd d d d d dd ddœdœ}|j«D]¤\}}tjdd|dzdz«}tjdd|dzdz«}tj||f«}|j«D];\}}tj||«\}    }
t t |    «|d|›d|›¬«Œ=Œ¦y)z²
        Straightforward testing with a mixture of linspace data (for
        consistency). All test values have been precomputed and the values
        shouldn't change
        r1rXrÉr/rér!é érOéé#ééGrÈ©é2iôiˆr”rZr€r.r0úFor the ú estimator with datasize of ©Úerr_msgN)Úitemsr"r&r„rr ry) rÚ
basic_testÚtestlenÚexpectedResultsÚx1Úx2rorÚnumbinsr)r*s            rr+z%TestHistogramOptimBinNums.test_simpleÁs€ð$%°¸AÈ1Ø&'°¸AÈñKà#$°¸BÈ2Ø&(°"¸bÈ1ñNà#%°¸BÈ2Ø&(°"¸bÈ2ñOñ    Pˆ
ð)3×(8Ñ(8Ó(:ò        <Ñ $ˆG_ô—‘˜S " g°¡l°QÑ&6Ó7ˆBÜ—‘˜Q  G¨q¡L°1Ñ$4Ó5ˆBÜ—‘  B˜xÓ(ˆAØ&5×&;Ñ&;Ó&=ò <Ñ"    ˜7Ü—|‘| A yÓ1‘1ÜœS ›V W¸ÀÀ ðL1Ø18°    ð7;ö<ñ <ñ         <rc
ó\—ddddddddœddddddddœddddddddœdœ}|j«D]{\}}tj|«jt«}|j«D];\}}tj
||«\}}t t|«|d|›d|›¬«Œ=Œ}y    )
        Smaller datasets have the potential to cause issues with the data
        adaptive methods, especially the FD method. All bin numbers have been
        precalculated.
        r.)rrrrrrrr/r0©r.r/r0r(r)r*N)r,r"rHrËrhrr ry)    rÚ    small_datr.r/ÚtestdatrÚexpbinsr)r*s             rÚ
test_smallz$TestHistogramOptimBinNums.test_smallÛs׀ð  !¨1°aÀAØ"#¨Q¸ñ<à ¨1°aÀAØ"#¨Q¸ñ<à ¨1°aÀAØ"#¨Q¸ñ<ñ    =ˆ    ð)2¯©Ó(9ò    <Ñ $ˆG_Ü—i‘i Ó(×/Ñ/´Ó6ˆGØ&5×&;Ñ&;Ó&=ò <Ñ"    ˜7Ü—|‘| G¨YÓ7‘1ÜœS ›V W¸ÀÀ ðL1Ø18°    ð7;ö<ñ <ñ    <rcóJ—gd¢}|D]}tttgd¢|«Œy)zS
        Check a Value Error is thrown when an unknown string is passed in
        )ÚmadÚfreemanÚ
histogramsÚIQRr4N)r r6r)rÚ
check_listrs   rÚtest_incorrect_methodsz0TestHistogramOptimBinNums.test_incorrect_methodsïs(€ò=ˆ
Ø#ò    GˆIÜ œ*¤i²¸IÕ Fñ    Grc    óڗtjd«}dddddddddœ}|j«D]8\}}tj||«\}}t    t |«||›d¬«Œ:y)zŒ
        Check that methods handle no variance in data
        Primarily for Scott and FD as the SD and IQR are both 0 in this case
        rr.rz estimator, No Variance testr*N)r"rfr,rr ry)rÚ novar_datasetÚnovar_resultdictrr2r)r*s       rÚtest_novariancez)TestHistogramOptimBinNums.test_novariance÷s}€ô
Ÿ™ › ˆ Ø"#¨a¸ÀqØ%&°¸1ÀqñJÐð#3×"8Ñ"8Ó":ò    MÑ ˆIwÜ—<‘<  ¨yÓ9‰DˆAˆqÜ œ˜Q› Ø$- ;Ð.JÐ!Kö Mñ    Mrcój—tjd«}d|ddd|ddt|d«}t|dd«t|dd    «t    |«dksJ‚t|d
«}t|tj
ddg««t|d «}t|tj ddd ««y) zY
        Check when IQR is 0, but variance exists, we return a reasonable value.
        éèrNr0réüÿÿÿrÀrZgY@rrr )r"rfrr ryr7r&)rÚ lim_var_dataÚ
edges_autoÚedges_fdÚ edges_sturgess     rÚtest_limited_variancez/TestHistogramOptimBinNums.test_limited_variances©€ô—w‘w˜t“}ˆ ؈ RaÐØˆ RSÐä(¨°vÓ>ˆ
ܐZ ‘] AÔ&ܐZ ‘^ TÔ*ܐ:‹ Ò$Ð$Ð$ä& |°TÓ:ˆÜXœrŸx™x¨¨C¨Ó1Ô2ä+¨L¸)ÓDˆ ܐ]¤B§K¡K°°3¸Ó$;Õ<rcó$—tjddd«}tjtjddd«|f«}dddd    d
œ}|j«D]3\}}tj||«\}}t t |«|«Œ5y ) aû
        Check the FD, Scott and Doane with outliers.
 
        The FD estimates a smaller binwidth since it's less affected by
        outliers. Since the range is so (artificially) large, this means more
        bins, most of which will be empty, but the data of interest usually is
        unaffected. The Scott estimator is more affected and returns fewer bins,
        despite most of the variance being in one area of the data. The Doane
        estimator lies somewhere between the other two.
        r”r!r'i’ÿÿÿéœÿÿÿr€ér^rA)rrrrN)r"r&Úhstackr,rr ry)rÚxcenterÚoutlier_datasetÚoutlier_resultdictrr2r)r*s        rÚ test_outlierz&TestHistogramOptimBinNums.test_outliers„€ô—+‘+˜c 2 rÓ*ˆÜŸ)™)¤R§[¡[°°t¸QÓ%?ÀÐ$IÓJˆà$&°¸RÈ!ÑLÐà"4×":Ñ":Ó"<ò    *Ñ ˆIwÜ—<‘< °Ó;‰DˆAˆqÜ œ˜Q› Õ )ñ    *rc óR—d„}td«Dcgc]P}tjddd¬«j«j    t
«Dcgc] }|||«‘Œ c}‘ŒR}}}t tj|d¬«dz
«}t|gd    ¢d
¬ «y cc}wcc}}w) zQVerify that Scott's rule and Stone's rule converges for normally distributed datacó—tjj|«}|jdd|¬«}t    tj
|d«d«t    tj
|d«d«}}|||zz S)Nrr/)ÚlocÚscaleÚsizerr)r"r#Ú RandomStateÚnormalryr)ÚseedrXÚrngror)r*s      rÚ nbins_ratiozBTestHistogramOptimBinNums.test_scott_vs_stone.<locals>.nbins_ratio/sl€Ü—)‘)×'Ñ'¨Ó-ˆCØ—
‘
˜q¨°
Ó5ˆAÜ”r—|‘| A wÓ/°Ñ2Ó3´S¼¿¹ÀaÈÓ9QÐRSÑ9TÓ5UˆqˆAؘ˜A™‘;Ð rr!rr1)ÚstartÚstoprœrrrD)g333333Ã?g
×£p=
·?g{®Gáz´?g¸…ëQ¸ž?r/rTN)    rQr"Ú    geomspaceÚroundrËrgÚabsÚmeanr)rr]r[rXÚllÚavgs      rÚtest_scott_vs_stonez-TestHistogramOptimBinNums.test_scott_vs_stone,s“€ò    ô  ›)÷%Øô46·<±<ÀbÈsÐXYÔ3Z×3`Ñ3`Ó3b×3iÑ3iÔjmÓ3nÖo¨4‰{˜4 Õ&Ôoð%ˆñ%ô”"—'‘'˜" 1Ô%¨Ñ+Ó,ˆÜ˜CÒ!9À1ÖEùò pùó%s’AB#ÁB Á"B#ÂB#c    óì—dddddddœdddddddœd    d    d
d d    ddœd œ}|j«D]Æ\}}tjd d|dzdz«}tjdd|dzdz«}tjdd|«}tj|||f«}|j«D]E\}}    tj||d¬«\}
} d|›d} | d|›z } t t |
«|    | ¬«ŒGŒÈy)zò
        Straightforward testing with a mixture of linspace data (for
        consistency). Adding in a 3rd mixture that will then be
        completely ignored. All test values have been precomputed and
        the shouldn't change.
        rXrSr$)rrrrrÀrré rÈéPé!éEér&r”rZr€r/r.r!r0rMiÎÿÿÿ)iìÿÿÿrÈrPr(z
 estimatorz with datasize of r*N)r,r"r&rOrr ry) rr-r.r/r0r1Úx3rorr2r)r*Úmsgs              rÚtest_simple_rangez+TestHistogramOptimBinNums.test_simple_range<s'€ð$%°¸BØ(*°BÀñDà#%°¸BØ(*°BÀñEà#%°¸BØ(*°BÀñEñ ˆ
ð)3×(8Ñ(8Ó(:ò     ;Ñ $ˆG_ô—‘˜S " g°¡l°QÑ&6Ó7ˆBÜ—‘˜Q  G¨q¡L°1Ñ$4Ó5ˆBÜ—‘˜T 3¨Ó0ˆBÜ—    ‘    ˜2˜r 2˜,Ó'ˆAØ&5×&;Ñ&;Ó&=ò ;Ñ"    ˜7Ü—|‘| A y¸    ÔB‘1Ø    ¨:Ð6ØÐ+¨G¨9Ð5Ñ5ÜœS ›V W°cÖ:ñ     ;ñ     ;rr3)rÀrrrrrrcó$—tjgd¢tj¬«}tj||¬«\}}tj|j    tj
«|¬«\}}t ||«t ||«y)N)éþÿÿÿrérkr2)r"r7Úint8rrËÚint32r
)rr3r)r8r9Úhist32Úedges32s       rÚtest_signed_integer_dataz2TestHistogramOptimBinNums.test_signed_integer_data[sa€ô H‰H’\¬¯©Ô 1ˆÜ—l‘l 1¨4Ô0‰ ˆˆeÜŸ,™, q§x¡x´·±Ó'9ÀÔE‰ˆÜ˜4 Ô(ܘ5 'Õ*rc
ó*—t«5}|dk(r|jt«tt    j
t    j t    jd«d«|«t    jd««ddd«y#1swYyxYw)zE
        Test that bin width for integer data is at least 1.
        rrOrEN)rrÂrxr r"rÚtilerH)rr3r|s   rÚ test_integerz&TestHistogramOptimBinNums.test_integeresj€ô Ó  ð     CؐwŠØ—
‘
œ>Ô*Ü Ü×&Ñ&¤r§w¡w¬r¯y©y¸«|¸TÓ'BÀDÓIÜ—    ‘    ˜!“ ô ÷    ÷    ñ    ús ‹A5B        Bc    óT—ttjtjtjd«d«d«tjd«dz «ttjtjtjd«d«ddg«ddg«y)    zX
        Test that the bin-width>=1 requirement *only* applies to auto binning.
        rOrErr"r/rBrƒN)r r"rryrHrs rÚtest_integer_non_autoz/TestHistogramOptimBinNums.test_integer_non_autorsw€ô    Ü × "Ñ "¤2§7¡7¬2¯9©9°Q«<¸Ó#>ÀÓ CÜ I‰Ib‹M˜AÑ ô    ô    Ü × "Ñ "¤2§7¡7¬2¯9©9°Q«<¸Ó#>ÀÀRÀÓ IØ ˆHõ    rc    óR—gd¢}|D]}tttgd¢|gd¢¬«Œ y)z=
        Check that weighted data raises a TypeError
        )rrrrrÀr4raN)r rr)rrrs   rÚtest_simple_weightedz.TestHistogramOptimBinNums.test_simple_weighted}s,€òDˆØ'ò    8ˆIÜ œ)¤Y²    Ø#ªYö 8ñ    8rN)r r rÚ__doc__r™r+r8r?rCrKrSrfrorûrÚ parametrizerwrzr|r~rrrrr²s›„ñò
4ò<ò4<ò(Gò Mò=ò&*ò(Fò ;ð> ‡[[×јVò&BóCñ+óCð+ð ‡[[×јVò&BóCñ    óCð    ò    ó8rrcóf—eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d „Z d „Zd „Zd„Zd„Zy)ÚTestHistogramddc    ó¬—tjgd¢gd¢gd¢gd¢gd¢gd¢g«}t|ddd    gd
d gd
d gg¬ «\}}tjgd ¢gd¢gd¢ggd ¢gd¢gd¢gg«}t||«gd¢gd¢gd¢g}t||d¬«\}}t    tj
||dz k(««t|ddd    gd
d gd
dggd¬«\}}tjgd¢gd¢gd¢ggd¢gd¢gd¢gg«}t ||dz d«tj|d d    ¬«Dcgc]}tj|«‘Œ}}t|dddgd
d gd
dgg¬ «\}}tjd
d
gd
d
gd
d
ggd
d    gd
d
gd    d
ggd
d    gd
d
gd
d
ggd
d
gd
d
gd
d
ggg«}t||«tjd!«}d"|ttd#««ttd#««ttd#««f<ttjd#«tjd#«tjd#«gd#«\}}t||«ycc}w)$N)rµrDrE)rµrEr)rµrrD)rDrDrE)rDrEr)rDrr)r/r0r0rZr.rr0rP)rr.r)rrr.)r.rr)rqrr/)rr.r/r0T©r3r?g(@)r/r0r1r1rR)rr.rr)rrr.r)r.rrrg@r)r1r0r/rqr/r¨)r€r€r€r4r€) r"r7rr
rÚallr    ÚsplitÚsqueezer…ÚlistrQrH)    rroÚHr9ÚanswerÚedrpÚzr
s             rr+zTestHistogramdd.test_simple‰s\€Ü H‰H’n¢o²~Ú$¢o²ðHó Iˆä˜q )Ø')¨1 g°°1¨v¸¸1°vÐ%>ô@‰ˆˆ5ä—‘šI¢y²)Ð<Ú%¢y²)Ð<ð>ó?ˆä˜1˜fÔ%òš,ª Ð 5ˆÜ˜q r°4Ô8‰ˆˆ5Ü”—‘q˜F S™LÑ(Ó)Ô*ô˜q )Ø')¨1 g°°1¨v¸¸1°vÐ%>Ø'+ô-‰ˆˆ5ô—‘šLª,º ÐEÚ(ª,º ÐEðGóHˆä! ! V¨b¡[°!Ô4ô%'§H¡H¨Q°¸Ô$:Ö ;˜qŒRZ‰Z˜]Ð ;ˆÐ ;ÜØ I r¨1 g°°1¨v¸¸1°vÐ%>ô@‰ˆˆ5ä—‘˜Q ˜F Q¨ F¨Q°¨FÐ3Ø ˜F Q¨ F¨Q°¨FÐ3Ø ˜F Q¨ F¨Q°¨FÐ3Ø ˜F Q¨ F¨Q°¨FÐ3ð5ó6ˆô    ˜1˜fÔ%ä H‰HYÓ ˆØ<>ˆŒ$ŒuQ‹x‹.œ$œu Q›x›.¬$¬u°Q«x«.Ð
8Ñ9ܤ§    ¡    ¨!£ ¬b¯i©i¸«l¼B¿I¹IÀa»LÐIÈ1ÓM‰ˆˆ5ܘ1˜aÕ ùò <sÄ%Icó¤—d}tjjdd«}|D])}t||«\}}t    |j
|k(«Œ+y)N))r€r1rA)rAr1r€)r€rAr1)r1rAr€)rAr€r1)r1r€rAr!r0©r"r#r$rrÚshape©rr3Úrr*r‰r9s      rÚ test_shape_3dzTestHistogramdd.test_shape_3d®sL€ðˆä I‰IN‰N˜2˜qÓ !ˆØò    "ˆAÜ" 1 aÓ(‰HˆAˆuÜ A—G‘G˜q‘LÕ !ñ    "rcó¤—d}tjjdd«}|D])}t||«\}}t    |j
|k(«Œ+y)N))rÉr1r€rA)r1r€rÉrA)r€rAr1rÉ)rÉrAr€r1)r€rÉrAr1)r1rArÉr€)rAr€rÉr1)rÉr€r1rA)rÉr1rAr€)rAr1rÉr€)rArÉr€r1)r1rAr€rÉ)r1rÉr€rA)r€r1rArÉ)r€rÉr1rA)rArÉr1r€)rAr€r1rÉ)r1rÉrAr€)r1r€rArÉ)rÉrAr1r€)r€r1rÉrA)r€rArÉr1)rAr1r€rÉ)rÉr€rAr1r!r1rŽrs      rÚ test_shape_4dzTestHistogramdd.test_shape_4d·sO€ðHˆô I‰IN‰N˜2˜qÓ !ˆØò    "ˆAÜ" 1 aÓ(‰HˆAˆuÜ A—G‘G˜q‘LÕ !ñ    "rcó¸—tjjdd«}t|«\}}t|d¬«\}}t|tjd«¬«\}}t ||«t|tjd«dzd¬«\}}t ||«t|tjdt «dz¬«\}}t |d|z«y)Nrr/Tr>rar)r"r#r$rrfr
rg)rr(r8r9Ún_histÚw_hists      rrŒzTestHistogramdd.test_weightsÅs¬€Ü I‰IN‰N˜3 Ó "ˆÜ! !“n‰ ˆˆeÜ# A¨tÔ4‰ ˆÜ# A¬r¯w©w°s«|Ô<‰ ˆÜ˜6 4Ô(Ü# A¬r¯w©w°s«|¸aÑ/?ÈÔN‰ ˆÜ˜6 6Ô*Ü# A¬r¯w©w°s¼CÓ/@À1Ñ/DÔE‰ ˆÜ˜6 1 t¡8Õ,rcó —tjdt«}t|d¬«\}}t    |dtj
gd¢««y)N)r!r/r/r2r)rµrCrD)r"r…rgrr
r7)rror8r9s    rÚtest_identical_samplesz&TestHistogramdd.test_identical_samplesÐs9€Ü H‰HWœcÓ "ˆÜ! !¨!Ô,‰ ˆˆeܘ5 ™8¤R§X¡XªoÓ%>Õ?rcóî—tgggddgddgf¬«\}}t|tjdgg««tjggggd¬«\}}t|tjd««y)Nrr.r2rCr/)r/r/r/)rr r"r7r…r˜s   rr™zTestHistogramdd.test_emptyÕsg€Ü˜B ˜8¨A¨q¨6°A°q°6Ð*:Ô;‰ˆˆ1ܘQ¤§¡¨2¨$¨Ó 0Ô1܏~‰~˜r 2 r˜l°Ô3‰ˆˆ1ܘQ¤§¡¨Ó 3Õ4rc
ót—tjd«jdd«}tttj
|gd¢¬«tttj
|gd¢¬«tttj
|dddgd¢g¬«t tj
|dddgd    ¢g¬««y)
NrXr/r1)rZr/r1r€r2)r.g®Gáz®ï?r.r.r.)r.r/r0éýÿÿÿr-)r"rHÚreshaper r6rr)rros  rÚtest_bins_errorsz TestHistogramdd.test_bins_errorsÛs}€ô I‰Ia‹L×  Ñ    AÓ &ˆÜ”j¤"§.¡.°!º-ÕHÜ”j¤"§.¡.°!º/ÕJÜÜ œŸ™¨°°A°qº-Ð0Hõ    Jä”—‘˜q¨¨1¨a²Ð'>Ô?Õ@rc
ó|—tjd¬«5tjd«jdd«}tjddgddgddgg«}tj
|dtj ddgg¬    «\}}t||«tj
|dtjd
dtj g«g¬    «\}}t||«tj
|dtj dtj gg¬    «\}}t||«ddd«y#1swYyxYw) NÚignore)ÚinvalidrAr0r/r.rr!r2rZ)r"ÚerrstaterHrr7rrIr)rroÚexpectedr:r;s     rÚtest_inf_edgeszTestHistogramdd.test_inf_edgesåsø€ä [‰[ Ô *ñ    )Ü—    ‘    ˜!“ ×$Ñ$ Q¨Ó*ˆAÜ—x‘x ! Q ¨!¨Q¨°!°Q°Р8Ó9ˆHÜ—>‘> !¨1´·±¨w¸¸2Ð.>Ð*?Ô@‰DˆAˆqÜ ˜A˜xÔ (Ü—>‘> !¨1¬b¯h©h¸¸A¼r¿v¹v°Ó.GÐ*HÔI‰DˆAˆqÜ ˜A˜xÔ (Ü—>‘> !¨1´·±¨w¸¼2¿6¹6Ð.BÐ*CÔD‰DˆAˆqÜ ˜A˜xÔ (÷    )÷    )ñ    )ús —DD2Ä2D;cóÔ—dg}gd¢g}t||¬«\}}t|ddk(«t|ddk(«dg}gd¢g}t||¬«\}}t|ddk(«t|ddk(«dg}gd¢g}t||¬«\}}t|ddk(«t|ddk(«d    g}gd¢g}t||¬«\}}t|ddk(«t|ddk(«y)
NgÐG»ÿÿÿï?)rCrDr4r2rrCr.r4g8ßð?gq¬‹Ûhð?)rr)rror3r8Ú_s     rÚtest_rightmost_binedgez&TestHistogramdd.test_rightmost_binedgeñsþ€à ˆNˆÚЈܘa dÔ+‰ˆˆaܐQ‘˜3‘ÔܐQ‘˜2‘ ÔØ ˆEˆÚЈܘa dÔ+‰ˆˆaܐQ‘˜3‘ÔܐQ‘˜2‘ ÔØ ˆNˆÚЈܘa dÔ+‰ˆˆaܐQ‘˜3‘ÔܐQ‘˜3‘ÔØ ˆHˆÚЈܘa dÔ+‰ˆˆaܐQ‘˜3‘ÔܐQ‘˜3‘Õrc    ó&—tjjd«}t|ddgddgddgg¬«ttt|ddgddgdtj
gg¬«ttt|ddgtj dgddgg¬«y)N)rr0rCr4rFr¢rDrP)r"r#rr r6rIr£ržs  rr¤z!TestHistogramdd.test_finite_ranges…€Üy‰y×Ñ Ó)ˆÜD # s ¨d°D¨\¸DÀ#¸;РGÕHÜ”j¤+¨tØ! 3˜Z¨$°¨¸¼b¿f¹f°~ÐFõ    Hä”j¤+¨tØ! 3˜Z¬"¯&©&°$¨¸$À¸ÐEö    Grcó—tjgd¢«}tjgd¢«}tjgd¢«}d}t||f||f¬«\}}tjdgdgg«}t||«y)z: Test that adjacent entries in an edge array can be equal )rr.r/)rr/r/r.r2r5r4N©r"r7rr )rrorpÚx_edgesÚy_edgesr8r9Ú hist_expecteds        rÚtest_equal_edgesz TestHistogramdd.test_equal_edgesss€ä H‰H’YÓ ˆÜ H‰H’YÓ ˆÜ—(‘(š9Ó%ˆØˆÜ! 1 a &°¸Ð/AÔB‰ ˆˆeäŸ™Ø ˆDØ ˆDð"
ó ˆ ô    T˜=Õ)rcó(—tjgd¢«}|dz }tjgd¢«}|dz }t||f||f¬«\}}t|dj|j«t|dj|j«y)z< Test that if an edge array is input, its type is preserved )rr!rÈr!)rr€rSrÈr2rr.N)r"r7rr rc)rrorpr«r¬r8r9s       rÚtest_edge_dtypezTestHistogramdd.test_edge_dtypesu€ä H‰H’[Ó !ˆØ ‰FˆÜ—(‘(š>Ó*ˆØ˜B‘,ˆÜ! 1 a &°¸Ð/AÔB‰ ˆˆeäU˜1‘X—^‘^ W§]¡]Ô3ܐU˜1‘X—^‘^ W§]¡]Õ3rcóø—d}tjdgtj«}tjddgtj«}||z}||z}t||f||f¬«\}}t    |dd«y)NlrrZr.r2)rr)r"r7Úint64rr )rÚbigror«rpr¬r8r9s        rÚtest_large_integersz#TestHistogramdd.test_large_integers)sn€Øˆä H‰HaSœ"Ÿ(™(Ó #ˆÜ—(‘(˜B ˜8¤R§X¡XÓ.ˆØ !‰GˆØ˜‘-ˆä! 1 a &°¸Ð/AÔB‰ ˆˆeäT˜$‘Z Õ#rcóÄ—tjgd¢«}tjgd¢«}tjddgddgg«}tjdgdgdzzdgdzzdgdzz«}tjdgdgdzzdgdzzdgdzz«}t||f||f¬«\}}t||«t||f||fd¬    «\}}t|d
«y) N)rr/rX)rrArXr0rOr.rÉr2Tr„g?rª)rr«r¬Úrelative_areasrorpr8r9s        rÚtest_density_non_uniform_2dz+TestHistogramdd.test_density_non_uniform_2d5sï€ô—(‘(š9Ó%ˆÜ—(‘(š9Ó%ˆÜŸ™Ø ˆFØ ˆFð#óˆô
H‰HaS˜A˜3 ™7‘] a S¨1¡WÑ,°¨s°Q©wÑ6Ó 7ˆÜ H‰HaS˜A˜3 ™7‘] a S¨1¡WÑ,°¨s°Q©wÑ6Ó 7ˆô" 1 a &°¸Ð/AÔB‰ ˆˆeܐT˜>Ô*ô" 1 a &°¸Ð/AÈ4ÔP‰ ˆˆeܐT˜;Õ'rcóڗtjd«}tjgd¢«}t||d¬«\}}t    |f|fd¬«\}}t ||«t ||d«y)Nr!r@Tr>r)r"rHr7rrr )rr(r3r8r9Úhist_ddÚedges_dds       rÚtest_density_non_uniform_1dz+TestHistogramdd.test_density_non_uniform_1dPs_€ä I‰Ib‹MˆÜx‰xÒ(Ó)ˆÜ  4°Ô6‰ ˆˆeÜ'¨¨¨t¨g¸tÔDшÜT˜7Ô#ܐU˜H Q™KÕ(rN)r r rr+r’r”rŒr™r™ržr¤r§r¤r®r°r´r·r»rrrr‚r‚‡sQ„ò#!òJ"ò "ò    -ò@ò
5ò Aò
)ò ò.Gò *ò    4ò
$ò(ó6)rr‚)rûÚnumpyr"rrrÚ numpy.testingrrrr    r
r r r rrrrr‚rrrú<module>r¾sFðÛ ãß=Ñ=÷ ÷ ÷ ÷]"ñ]"÷~ R8ñR8÷jP)òP)r