zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
U
P±d¹™ã@s„dZddlZddlZddlZddlmZmZddlmZddl    Z
ddl m Z ddl mZmZmZdd„Zej d    d
d d d g¡dd„ƒZejdd„ƒZej dddddg¡dd„ƒZdd„Zdd„Zdd„Zdd„Zd d!„Zej d"d#¡d$d%„ƒZej d"d#¡d&d'„ƒZej d(d)d*g¡d+d,„ƒZej d-d.ddd/g¡d0d1„ƒZ ej d2d3¡d4d5„ƒZ!d6d7„Z"ej d8e#e$f¡d9d:„ƒZ%ejj&eoŒej'j(d;kd<d=ej d8e
 )d>¡e
 )d?¡f¡d@dA„ƒƒZ*dBdC„Z+dDdE„Z,dFdG„Z-dHdI„Z.ej dJdKdLdMg¡ej dNdKdLdMg¡dOdP„ƒƒZ/dQdR„Z0dSdT„Z1dUdV„Z2dWdX„Z3ej d8dY¡dZd[„ƒZ4ej d\d]e
 )d^¡fd_e
 )d`¡fg¡dadb„ƒZ5dcdd„Z6dedf„Z7ejj&eo”ej'j(d;kd<d=ej d8e
j8dg¡ej 9dh¡didj„ƒƒƒZ:ejj&eoÚej'j(d;kd<d=ej d8e
j8dg¡ej 9dh¡dkdl„ƒƒƒZ;ej d8e
j<e
j=f¡ej dmdn¡dodp„ƒƒZ>dqdr„Z?dsdt„Z@dudv„ZAejj&e dwd=dxdy„ƒZBejj&eo~ej'j(d;kd<d=dzd{„ƒZCej d|de#gd}f¡d~d„ƒZDejj&eoÂej'j(d;kd<d=d€d„ƒZEej d‚dƒ¡d„d…„ƒZFd†d‡„ZGej dˆd‰¡dŠd‹„ƒZHej dˆd‰¡dŒd„ƒZIdŽd„ZJejj&eo:ej'j(d;kd<d=dd‘„ƒZKd’d“„ZLd”d•„ZMd–d—„ZNd˜d™„ZOdšd›„ZPej dœd¡ej dždŸ¡ej d dd¡g¡d¢d£„ƒƒƒZQej dd¤¡d¥d¦„ƒZRej d8d§gd¨d©dªd«d¬d­d®d¯d°d±d²eSd³ƒfd´dµeSd¶ƒfd·g¡ej d¸d¹dºg¡d»d¼„ƒƒZTej d8e
j8dgd½d¾¡d¿dÀ„ƒZUej d8dÁ¡dÂdăZVejj&eofej'j(d;kd<d=ej d8dÁ¡ej dÄdÅdÆdÇdÈdÉdÊdËdÌg¡dÍd΄ƒƒƒZWejj&eo¸ej'j(d;kd<d=ej d8e
j8dgdÏd¾¡dÐdфƒƒZXejj&eoúej'j(d;kd<d=ej d8e
j8dgdÏd¾¡dÒdӄƒƒZYej dœdÔdÕgdÔdÖgg¡d×d؄ƒZZej dœdÔdÙgdÔdÚgdÔdÛgdÔdÜgg¡dÝdބƒZ[ej dßdàdádâg¡dãd䄃Z\dådæ„Z]dçdè„Z^Gdédê„dêƒZ_dëdì„Z`dídî„Zadïdð„Zbdñdò„Zcej d2d3¡dódô„ƒZdej dõdö¡d÷dø„ƒZeej dùdúdûg¡ej düdý¡dþdÿ„ƒƒZfdd„Zgejj&eoFej'j(d;kd<d=dd„ƒZhdd„Ziej 9d¡dd„ƒZjdS(    z
Tests specific to `np.loadtxt` added during the move of loadtxt to be backed
by C code.
These tests complement those found in `test_io.py`.
éN)ÚNamedTemporaryFileÚmkstemp)ÚStringIO)Ú assert_equal)Úassert_array_equalÚ HAS_REFCOUNTÚIS_PYPYcCsJtdƒ}t dddgdddgdd    d
gd dd gg¡}ttj|d d|ƒdS)z0Test that both 'e' and 'E' are parsed correctly.zE1.0e-1,2.0E1,3.0
4.0e-2,5.0E-1,6.0
7.0e-3,8.0E1,9.0
0.0e-4,1.0E-1,2.0gš™™™™™¹?g4@ç@g{®Gáz¤?çà?égyé&1¬|?gT@é    réú,©Ú    delimiterN)rÚnpÚarrayrÚloadtxt)ÚdataÚexpected©rúSd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/lib/tests/test_loadtxt.pyÚtest_scientific_notationsþ"ÿrÚcommentz..z//z@-zthis is a comment:cCsDd}t| d|¡ƒ}tj|d|d}t|ddgddgd    d
ggƒdS) Nz,# IGNORE
1.5, 2.5# ABC
3.0,4.0# XXX
5.5,6.0
ú#r©rÚcommentsçø?ç@r    ç@ç@ç@)rÚreplacerrr)rÚcontentÚtxtÚarrrÚtest_comment_multiple_chars"sr&cCsPtdƒ}t dtjfdtjfddtjfg¡}tjdddd    d
d g|d }|||fS) z|
    Fixture providing hetergeneous input data with a structured dtype, along
    with the associated structured array.
    zo1000;2.4;alpha;-34
2000;3.1;beta;29
3500;9.9;gamma;120
4090;8.1;delta;0
5001;4.4;epsilon;-99
6543;7.8;omega;-1
Úf0Úf1©Úf2ZS7Úf3©ièg333333@ÚalphaiÞÿÿÿ©iÐgÍÌÌÌÌÌ@Úbetaé©i¬ gÍÌÌÌÌÌ#@Úgammaéx©iúg333333 @Údeltar©i‰gš™™™™™@Úepsiloniÿÿÿ©ig333333@Úomegaéÿÿÿÿ©Údtype)rrr<Úuint16Úfloat64Úint8r)rr<rrrrÚmixed_types_structured*s"þ
ÿú÷ r@Úskiprowsér écCs2|\}}}tj||d|d}t|||d…ƒdS)Nú;)r<rrA©rrr)rAr@rr<rr%rrrÚ1test_structured_dtype_and_skiprows_no_empty_linesKs
rFcCs`|\}}}tj||ddd\}}}}t||dƒt||dƒt||dƒt||dƒdS)NrDT)r<rÚunpackr'r(r*r+rE)r@rr<rr%ÚbÚcÚdrrrÚtest_unpack_structuredSs 
rKcCsBt ddg¡}tdƒ}tjddg|d}ttj|d|d|ƒdS)    N)r%Úu1r )rHrLr z0,1,2,3
6,7,8,9
©©rrB©r rC))r é)ér r;r©rr<©rr<rrrr©r<rrrrrÚ test_structured_dtype_with_shape]srUcCs<t dg¡}tdƒ}tjdg|d}ttj||d|ƒdS)N)r%rL)r r z0 1 2 3
)rMr;rSrTrrrÚ&test_structured_dtype_with_multi_shapeds rVcCsrt dtfdtfg¡}t dtfd|dfg¡}tdƒ}tjddd    gfd
d d gfg|d }ttj||dd|ƒdS)NÚxÚyÚcodeZpoints)r z100,1,2,3,4
200,5,6,7,8
éd)çð?ç@)r    réÈ)ç@r!)g@g @r;r©r<r)rr<ÚfloatÚintrrrr)ZpointÚdtrrrrrÚtest_nested_structured_subarrayks
 
þûrccCsBtjddd}tdƒ}tjddg|d}ttj|d|d    |ƒdS)
Nzi1, i4, i1, i4, i1, i4T©Zalignz1,2,3,4,5,6
7,8,9,10,11,12
)rBr rCéér )rPrQr é
é é r;rrRrS)rbrrrrrÚtest_structured_dtype_offsetszsrjÚparam)rAÚmax_rowsc    Cs.tjtddtjd|diŽW5QRXdS)z;skiprows and max_rows should raise for negative parameters.zargument must be nonnegative©Úmatchúfoo.baréýÿÿÿN)ro©ÚpytestÚraisesÚ
ValueErrorrr©rkrrrÚ"test_exception_negative_row_limits‚srvc    Cs.tjtddtjd|diŽW5QRXdS)Nzargument must be an integerrmror[)ro©rrrsÚ    TypeErrorrrrurrrÚ$test_exception_noninteger_row_limits‰sryz data, shape)z
1 2 3 4 5
)rBrf)z
1
2
3
4
5
)rfrBcCsˆt dddddg¡}| |¡}ttjt|ƒtd|ƒttjt|ƒtdd|ƒttjt|ƒtdd|ƒttjt|ƒtdd|ƒdS)    NrBr rCrerfr;r)r<Úndmin)rrZreshaperrrra)rÚshapeZarrZarr2drrrÚtest_ndmin_single_row_or_cols 
r|Úbadvalr:zplate of shrimpc    Cs,tjtddtjd|dW5QRXdS)NzIllegal value of ndmin keywordrmro)rzrq)r}rrrÚtest_bad_ndmin sr~Úws)ú ú    u õ u c Csntd|›d|›d|›d|›d|›d ƒ}t ddd    gd
d d gd ddgdddgg¡}ttj|tddd|ƒdS)Nz1 2z30
 
z
4 5 60z
  z  
7 8 z 90
  # comment
3 2 1rBr érerfé<rPrQéZrCr©r<rr©rrrrrra)rr$rrrrÚtest_blank_lines_spaces_delimit¦s "ÿ    *ÿrˆcCsNtdƒ}t dddgdddgdd    d
gd ddgg¡}ttj|td d d|ƒdS)Nz&1,2,30
 
4,5,60
 
7,8,90
# comment
3,2,1rBr rƒrerfr„rPrQr…rCrrr†r‡)r$rrrrÚ!test_blank_lines_normal_delimiterÀs *ÿr‰r<cCsJtdƒ}tj||ddd}t|j|ƒt|tjddgddgg|d    ƒdS)
Nz1.5,2.5
3.0,4.0
5.5,6.0rr )r<rrlz1.5z2.5z3.0z4.0r;)rrrrr<r©r<r$ÚresrrrÚtest_maxrows_no_blank_linesÈs rŒ)rPrCrQzPyPy bug in error formatting)ÚreasonZf8Úi2c    CsBtdƒ}d|›d}tjt|dtj||ddW5QRXdS)Nz 1,2
3,XXX
5,6z"could not convert string 'XXX' to z at row 1, column 2rmrr_©rrrrsrtrr)r<r$ÚmsgrrrÚ!test_exception_message_bad_valuesÐs r‘cCsVtdƒ}ddd„i}t ddgdtjgdd    gg¡}tj|tjd
|dd }t||ƒdS) Nz1.5,2.5
3.0,XXX
5.5,6.0r:cSs|dkrtjSt|ƒS©NZXXX©rÚnanr`©ÚsrrrÚ<lambda>Üóz2test_converters_negative_indices.<locals>.<lambda>rrr    r r!r)r<rÚ
convertersÚencoding)rrrr”rr>r©r$Úconvrr‹rrrÚ test_converters_negative_indicesÚs ÿrcCs”tdƒ}ddd„i}t ddgdtjgdd    gg¡}tj|tjd
|d dgdd }t||ƒtjtd ƒd
d dgddd„id}t|d dgd dggƒdS)Nz$1.5,2.5,3.5
3.0,4.0,XXX
5.5,6.0,7.5
r:cSs|dkrtjSt|ƒSr’r“r•rrrr—ær˜z?test_converters_negative_indices_with_usecols.<locals>.<lambda>rg @r    r g@rr)r<rr™Úusecolsršz0,1,2
0,1,2,3,4cSsdS)Nr:r©rWrrrr—ôr˜)rržr™)rrrr”rr>rrr›rrrÚ-test_converters_negative_indices_with_usecolsäs" ú
 
ÿr c    Cs€tdƒ}t ddgddgddgg¡}tj|tdddgd}t||ƒtdƒ}tjtddtj|tdddgdW5QRXdS)    Nú$0,0,XXX
0,XXX,0,XXX
0,XXX,XXX,0,XXX
rréþÿÿÿ©r<rržz0,0,XXX
0
0,XXX,XXX,0,XXX
z/invalid column index -2 at row 2 with 1 columnsrm)    rrrrr`rrrrsrt©r$rr‹rrrÚtest_ragged_usecols÷s
ÿr¥cCsFtdƒ}tj|t g¡dgd}|jdks.t‚|jt g¡ksBt‚dS)Nr¡rr£)rC)rrrr<r{ÚAssertionError©r$r‹rrrÚtest_empty_usecolssr¨Úc1r%uのu🫕Úc2cCsntd|›d|›dƒ}tj|t d¡dd}tjd|›d d¡d|›d d¡gt d¡d    }t||ƒdS)
Nza,z    ,c,1.0
e,z,2.0,gÚU12rr_z,c,1.0ze,r;)rrrr<rÚsplitr)r©rªr$r‹rrrrÚtest_large_unicode_characters s"þr­cCsXtdƒ}ddd„i}tj|t d¡|ddd}t dd    gd
d gd d gg¡}t||ƒdS)Nucat,dog
αβγ,δεζ
abc,def
rcSs| ¡S©N©Úupperr•rrrr—r˜z-test_unicode_with_converter.<locals>.<lambda>r«r)r<r™rršZCATZdoguΑΒΓuδεζÚABCÚdef)rrrr<rr©r$rœr‹rrrrÚtest_unicode_with_converters ûr´cCsjtdƒ}t dtjfdtjfdg¡}dd„dd„dœ}tj||d    |d
}tjd d d g|d}t||ƒdS)Nz$1.5,2.5,Abc
3.0,4.0,dEf
5.5,6.0,ghI
ÚmÚr)rYÚU8cSstdt|ƒƒS)Nrg)rar`r•rrrr—*r˜z6test_converter_with_structured_dtype.<locals>.<lambda>cSs| ¡Sr®r¯r•rrrr—*r˜)rr:r)r<rr™)érr±)rƒrÚDEF)é7r!ZGHIr;)rrr<Úint32Úfloat32rrr)r$rbrœr‹rrrrÚ$test_converter_with_structured_dtype'sÿr½cCsJtdƒ}tj}tj|t d¡|dd}t ddgddgg¡}t||ƒd    S)
aL
    With the default 'bytes' encoding, tokens are encoded prior to being
    passed to the converter. This means that the output of the converter may
    be bytes instead of unicode as expected by `read_rows`.
 
    This test checks that outputs from the above scenario are properly decoded
    prior to parsing by `read_rows`.
    zabc,def
rst,xyzZU3r)r<r™rr±r¹ZRSTZXYZN)rÚbytesr°rrr<rrr³rrrÚ!test_converter_with_unicode_dtype2s    ÿr¿cCsNdd}|dd…d}t|dƒ}tj|dtd}t|t dd    gd
¡ƒdS) Nz    1.5, 2.5,éPÃr:Ú
r rrRrr)r rÀ)rrrr`rZtile)Úrowr$r‹rrrÚtest_read_huge_rowCs
 rÃZedfgFDGcCs8d}t |¡}tj|g|dd}|| d¡ks4t‚dS)Naò0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.123456789r;rz 0.123456789)rr<rÚtyper¦)r<ÚfieldÚvaluerrrÚtest_huge_floatKs
rÇ)Ú given_dtypeÚexpected_dtypeÚSÚS5ÚUZU5cCsRtdƒ}tj||dd}tjddgddgdd    gg|d
}t||ƒt|j|ƒd S) z­
    The given dtype is just 'S' or 'U' with no length. In these cases, the
    length of the resulting dtype is determined by the longest string found
    in the file.
    zAAA,5-1
BBBBB,0-3
C,4-9
rr_ZAAAz5-1ZBBBBBz0-3ÚCz4-9r;N)rrrrrr<)rÈrÉr$r‹rrrrÚtest_string_no_length_givenTs ÿ
rÎcCsHdddddg}td |¡ƒ}t |¡}t dd„|Dƒ¡}t||ƒd    S)
    Some tests that the conversion to float64 works as accurately as the
    Python built-in `float` function. In a naive version of the float parser,
    these strings resulted in values that were off by an ULP or two.
    z0.9999999999999999z9876543210.123456z5.43215432154321e+300z0.901z0.333rÁcSsg|] }t|ƒ‘qSr)r`)Ú.0r–rrrÚ
<listcomp>ysz)test_float_conversion.<locals>.<listcomp>N)rÚjoinrrrr)Ústringsr$r‹rrrrÚtest_float_conversionjsû
rÓcCs^tdƒ}tj|tdd}|jtks&t‚t|ddgddggƒt| tj¡ddgddggƒdS)Nz 1, 0
10, -1rr_TFrBr)    rrrÚboolr<r¦rÚviewZuint8r§rrrÚ    test_bool}s
rÖZ
AllIntegerz0error:.*integer via a float.*:DeprecationWarningc
Cs¦t |¡}tjdg|ddks"t‚|jdkrTt t¡tjdg|dW5QRXntjdg|ddkslt‚dD]0}t t¡tj|›d    g|dW5QRXqpdS)
Nz+2r;r Úuz-1
z-2
r¢)z++z+-z--z-+z2
)rr<rr¦Úkindrrrsrt)r<ÚsignrrrÚtest_integer_signs‡s
 
  rÚc    Cs2tdƒ}t t¡tj||ddW5QRXdS)Nz1.0, 2.1, 3.7
4, 5, 6rr_r)r<r$rrrÚ%test_implicit_cast_float_to_int_fails™s rÛÚ with_parens)FTcCs\d}|s| dd¡ dd¡}tjt|ƒ|dd}tjddd    gd
d d gg|d }t||ƒdS)Nz*(1.0-2.5j),3.75,(7+-5.0j)
(4),(-19e2j),(0)ú(Úú)rr_yð?Àg@y@Àry€°Àrr;)r"rrrrr)r<rÜr–r‹rrrrÚtest_complex_parsing¢sÿràcCsRdd„}tj|ƒtdd}t dddgdddgdddgd    d
d gg¡}t||ƒdS) Ncss0tdƒD]"}|›dd|›d|d›VqdS)Nrerr ©Úrange©ÚirrrÚgen±s z%test_read_from_generator.<locals>.genrr_rrBr rerCr r )rrrarr©rår‹rrrrÚtest_read_from_generator°s*rçcCs<dd„}tj|ƒddd}tjdddgdd    }t||ƒdS)
Ncss&tdƒD]}|›d|d›VqdS)NrCr€rerárãrrrrå»s z/test_read_from_generator_multitype.<locals>.genzi, dr€r_)rg)rBgÐ?)r r
r;)rrrrrærrrÚ"test_read_from_generator_multitypeºsrèc    Cs8dd„}tjtddtj|ƒdddW5QRXdS)NcssdD]
}|VqdS)N)z1,2s3, 5iÂ1r)ÚentryrrrråÅsz)test_read_from_bad_generator.<locals>.genú&non-string returned while reading datarmzi, irr_rw)rårrrÚtest_read_from_bad_generatorÄs ÿrëzPython lacks refcountsc    shtƒ‰d‰‡‡fdd„}tddƒ}tjtddtj|td|idW5QRXt ˆ¡d    ksdt    ‚dS)
Nrcsˆdkrtdƒ‚ˆd7‰ˆS)Ni‡zfailed half-way through!rB)rtrŸ©Z already_readÚsentinelrrrœÓsz/test_object_cleanup_on_read_error.<locals>.convzx
i'zat row 5000, column 1rm)r<r™r )
ÚobjectrrrrsrtrrÚsysÚ getrefcountr¦)rœr$rrìrÚ!test_object_cleanup_on_read_errorÎs rñc    Cs0tdƒ}t t¡tj|ddW5QRXdS)z9Test exception when a character cannot be encoded as 'S'.u–rËr;Nr)rrrrÚ#test_character_not_bytes_compatibleâs ròrœrÞc    Cs4d}tjt|dtjtdƒ|dW5QRXdS)Nz\converters must be a dictionary mapping columns to converter functions or a single callable.rmú1 2
3 4©r™©rrrsrxrrr)rœrrrrÚtest_invalid_converterësÿröc    CsftjtddtjtdƒdtidW5QRXtjtddtjtdƒdtiddW5QRXdS)Nzkeys of the converters dictrmrór%rôr)r™rž)rrrsrxrrrrarrrrÚ+test_converters_dict_raises_non_integer_keyõs r÷Ú bad_col_ind)rCrpc    Cs8tdƒ}tjtddtj||tidW5QRXdS)Nrózconverter specified for columnrmrô)rrrrsrtrrra)rørrrrÚ'test_converters_dict_raises_non_col_keyþsrùc    Cs4tjtddtjtdƒddidW5QRXdS)Nz4values of the converters dictionary must be callablermrórrBrôrõrrrrÚ,test_converters_dict_raises_val_not_callablesÿrúÚq)ú"ú'ú`c Cstt|›d|›d|›d|›d|›d|›d ƒ}t ddtjfg¡}tjd    d
d g|d }tj||d |d}t||ƒdS)Núalpha, xz, 2.5
úbeta, yz, 4.5
úgamma, zz, 5.0
©r'r·r(©rÿr©rg@©rr^r;r©r<rÚ    quotechar©rrr<r>rrr©rûr$r<rr‹rrrÚtest_quoted_field s&ÿÿr
c Cstt|›d|›d|›d|›d|›d|›d ƒ}t ddtjfg¡}tjd    d
d g|d }tj||d|d }t||ƒdS)Nrÿz         2.5
rz 4.5
rz   5.0
rr(rrrr;rrr    rrrÚ*test_quoted_field_with_whitepace_delimiters&ÿÿr c    Csˆtdƒ}t ddtjfdtjfg¡}tjtddtj||ddW5QRX| d    ¡tj    d
g|d }tj||dd d }t
||ƒdS)z1Support for quoted fields is disabled by default.z"lat,long", 45, 30
)r'ZU24r(r*zthe number of columns changedrmrr_r)zlat,longg€F@g>@r;rürN) rrr<r>rrrsrtrÚseekrr)r$r<rr‹rrrÚtest_quote_support_default's
r c    Cs:tdƒ}d}tjt|dtj|dddW5QRXdS)Nú1,2
3,4z,.*must be a single unicode character or Nonermrz''©rr©rrrrsrxrr)r$rrrrÚtest_quotechar_multichar_error7src    Cs”tdƒ}d}tjt|dtj|ddddW5QRXtjt|dtj|ddd    gddW5QRXtj|dd
d d}t|d d gddggƒdS)NrzWwhen multiple comments or a multi-character comment is given, quotes are not supported.rmrZ123rü)rrrrú%)rrýrBr rCre)rrrrsrtrrr)r$rr‹rrrÚ'test_comment_multichar_error_with_quote@sÿ rcCsftdƒ}t dtjfdtjfddtjfg¡}tjdddd    d
d g|d }tj||d dd}t||ƒdS)Nz{1000;2.4;'alpha';-34
2000;3.1;'beta';29
3500;9.9;'gamma';120
4090;8.1;'delta';0
5001;4.4;'epsilon';-99
6543;7.8;'omega';-1
r'r(r)r+r,r.r1r4r6r8r;rDrýr)    rrr<r=r>r?rrr)rr<rr‹rrrÚ!test_structured_dtype_with_quotesPs$þ
ÿú÷ rcCs<tdƒ}tjdddgdd}tj|dddd    }t||ƒdS)
Nz    1
 
"4"
""Ú1Ú4rÞÚU1r;rrü©rr<r©rrrrrr¤rrrÚtest_quoted_field_is_not_emptymsrcCs<tdƒ}tjdddgdd}tj|dddd    }t||ƒdS)
Nz1
 
"4"
"rrrÞrr;rrürrr¤rrrÚ(test_quoted_field_is_not_empty_nonstrictssrcCs6tdƒ}tjddd}tj|dddd}t||ƒdS)Nz"Hello, my name is ""Monty""!"zHello, my name is "Monty"!ZU40r;rrürrr¤rrrÚ"test_consecutive_quotechar_escaped{srr)rÞz
 
 
z# 1 2 3
# 4 5 6
rz)rrBr rž)rBr rCc
CsÆ|dk    rd}n|dkrd}nd}t|ƒ}tjtddtj|||d}W5QRX|j|ks`t‚td    d
R}|     |¡| 
d ¡tjtddtj|||d}W5QRX|j|ks¸t‚W5QRXdS) zDCheck that a UserWarning is emitted when no data is read from input.N)rrCr rN)rúinput contained no datarm)rzržÚw)Úmoder) rrrÚwarnsÚ UserWarningrrr{r¦rÚwriter )rrzržZexpected_shaper$r‹ÚfhrrrÚtest_warn_on_no_data‚s 
 
r$rOc    Cs8d}t|ƒ}tjtddtj||dW5QRXdS)Nz 1 2 3
4 5 6rrm)rA)rrrr r!rr)rArr$rrrÚtest_warn_on_skipped_datašsr%rÆ)rŽrB)Úu2rB)Úi4é)Zu4r()Úi8ì
 )Úu8r*)Úfloat16g#È÷{?)r¼g‚Æ.  7)Ú    complex64y‚Æ.  7ü‰³`F$:)r>g»Ú
complex128ywfUD3":»)Z
longdoubler*Z clongdoubleyp`P@0 ðB²B)ZU2u𐈃ò ¬ŒÚswapTFcCs~t |¡}d|›dg}|r$| ¡}tjdd|fgdd}|jdddksPt‚tj||dddd    }|d| |¡kszt‚dS)
Nzx,rÁ)r%ZS1rHFrdrBr)r<rršrl)rr<Z newbyteorderÚfieldsr¦rrÄ)r<rÆr/rZfull_dtr‹rrrÚtest_byteswapping_and_unaligned¢s
 ÿr1ZefdFDú?cCs8tdƒ}tj||ddd}t|t ddg¡ |¡ƒdS)Nu  3 ," 2
"rrürrCr )rrrrrZastyperŠrrrÚ!test_unicode_whitespace_strippingÂsr3ZFDc
CsJd}|| dd¡g}tj||dd}t|t dddd    d
d ggd ¡ƒdS) Nz0 1 , 2+3j , ( 4+5j ), ( 6+-7j )  , 8j , ( 9j ) 
r€u rr_rBy@@y@@y@Ày @y"@r )r"rrrr)r<Úlinerr‹rrrÚ)test_unicode_whitespace_stripping_complexÎsr5rÅz1 +2jz1+ 2jz1+2 jz1+-+3z(1jz(1z(1+2jz1+2j)c    Cs0t t¡tj|dg|ddW5QRXdS)NrÁrr_rq)r<rÅrrrÚtest_bad_complexØs r6ZefgdFDGc    CsD| ¡dkrt d¡t t¡tjdg|dddW5QRXdS)NÚgz0longdouble/clongdouble assignment may misbehave.ú1rrür)ÚlowerrrÚxfailrsrtrrr;rrrÚtest_nul_character_errorâs 
 r;c    Cs~|dkrt d¡|dkr$t d¡tdƒtdƒkrNtdƒkrNdksTnt‚t t¡t    j
dg|dW5QRXdS)    NÚez5half assignment currently uses Python float converterZeGz2clongdouble assignment is buggy (uses `complex`?).Z1_1rhz1_1
r;) rrÚskipr:rar`Úcomplexr¦rsrtrrr;rrrÚtest_no_thousands_supportïs
 
0 r?z1,2
z2
,3
z2 ,3
c    Cs0d}tjt|dtj|ddW5QRXdS)Nz7Found an unquoted embedded newline within a single linermrrrq)rrrrrÚtest_bad_newline_in_iteratorsr@z2,3
z'2
',3
z'2 ',3
z'2
',3
cCs*tj|ddd}t|ddgddggƒdS)Nrrýrr[r\r    rE)rr‹rrrÚtest_good_newline_in_iterator srAÚnewlinerÁú ú
csVdddg}‡fdd„|Dƒ}tj|tddd}t|d    d
ˆ›gd d ˆ›d    ggƒdS) Nz1,"2
"
z3,"4
z1"
csg|]}| dˆ¡‘qS)rÁ)r")rÏr©rBrrrÐsz2test_universal_newlines_quoted.<locals>.<listcomp>rrürrÚ2Ú3r)rrrîr)rBrr‹rrErÚtest_universal_newlines_quoteds
rHcCsdtjddgdd}t|dddgdd    d
ggƒtjd d gd td}| ¡dddgdddggks`t‚dS)Nz123
z456úrrBr rCrerfr z1,2,3
z4,5,6rrRr8z2rGz4z5Ú6)rrrrîÚtolistr¦)r‹rrrÚtest_null_character$s
ÿrLc    Cs>Gdd„dƒ}tjtddtj|ƒtddW5QRXdS)Nc@seZdZdd„Zdd„ZdS)z:test_iterator_fails_getting_next_line.<locals>.BadSequencecSsdS)NrZr©ÚselfrrrÚ__len__1szBtest_iterator_fails_getting_next_line.<locals>.BadSequence.__len__cSs"|dkrtdƒ‚|›d|d›S)Né2úBad things happened!z, rB)Ú RuntimeError)rNÚitemrrrÚ __getitem__4szFtest_iterator_fails_getting_next_line.<locals>.BadSequence.__getitem__N)Ú__name__Ú
__module__Ú __qualname__rOrTrrrrÚ BadSequence0srXrQrmrr_)rrrsrRrrra)rXrrrÚ%test_iterator_fails_getting_next_line/s    rYc@sXeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Ze    j
  d dddg¡dd„ƒZ dS)ÚTestCReaderUnitTestsc    Cs:tjtdd"tjjjtƒt d¡ddW5QRXdS)Nz.*readrmräT©r<Úfilelike)    rrrsÚAttributeErrorrÚcoreÚ_multiarray_umathÚ_load_from_filelikerîr<rMrrrÚtest_not_an_filelike@s ÿz)TestCReaderUnitTests.test_not_an_filelikec    CsHGdd„dƒ}tjtdd"tjjj|ƒt d¡ddW5QRXdS)Nc@seZdZdZdd„ZdS)zBTestCReaderUnitTests.test_filelike_read_fails.<locals>.BadFileLikercSs$|jd7_|jdkr tdƒ‚dS)NrBéú Bad bad bad!z1,2,3
)ÚcounterrR©rNÚsizerrrÚreadLs
zGTestCReaderUnitTests.test_filelike_read_fails.<locals>.BadFileLike.readN©rUrVrWrdrgrrrrÚ BadFileLikeIsrircrmräTr[)rrrsrRrr^r_r`r<©rNrirrrÚtest_filelike_read_failsEs    ÿz-TestCReaderUnitTests.test_filelike_read_failsc    CsHGdd„dƒ}tjtdd"tjjj|ƒt d¡ddW5QRXdS)Nc@seZdZdZdd„ZdS)z@TestCReaderUnitTests.test_filelike_bad_read.<locals>.BadFileLikercSsdS)NiÒrrerrrrg^szETestCReaderUnitTests.test_filelike_bad_read.<locals>.BadFileLike.readNrhrrrrri[srirêrmräTr[)rrrsrxrr^r_r`r<rjrrrÚtest_filelike_bad_readVsÿÿz+TestCReaderUnitTests.test_filelike_bad_readc    Cs:tjtdd"tjjjtƒt d¡ddW5QRXdS)Nz/error reading from object, expected an iterablermräFr[©    rrrsrxrr^r_r`rîr<rMrrrÚtest_not_an_iterfsÿÿz%TestCReaderUnitTests.test_not_an_iterc    Cs4tjtddtjjjtƒdddW5QRXdS)Nzinternal error: dtype mustrmräFr[)rrrsrxrr^r_r`rîrMrrrÚ test_bad_typels ÿz"TestCReaderUnitTests.test_bad_typec    Cs<tjtdd$tjjjtƒt d¡dddW5QRXdS)Nzencoding must be a unicodermräFé{)r<r\ršrmrMrrrÚtest_bad_encodingqsÿz&TestCReaderUnitTests.test_bad_encodingrBrCrÁrDcCs\td d|¡dd}tjjj|t d¡dddd    d
}t|dd…d fd d |›ddgƒdS)Nz0
1
"2
"
3
4 #
rÁrÞrEZU10TrürrB)r<r\ÚquoterZ    skiplinesrrrFrGz4 )rr"rr^r_r`r<r)rNrBrr‹rrrÚtest_manual_universal_newlinesvs ÿþz3TestCReaderUnitTests.test_manual_universal_newlinesN) rUrVrWrarkrlrnrorqrrÚmarkÚ parametrizersrrrrrZ=srZc    Cs2tjtddtjtdƒdddW5QRXdS)Nú".*control characters.*incompatiblermú1, 2, 3rrrõrrrrÚ'test_delimiter_comment_collision_raises†srxc    Cs2tjtddtjtdƒdddW5QRXdS)NrvrmrwrrrõrrrrÚ)test_delimiter_quotechar_collision_raises‹sryc    Cs2tjtddtjtdƒdddW5QRXdS)Nrvrmú1 2 3r)rrrõrrrrÚ'test_comment_quotechar_collision_raisessr{c    Cs6tjtddtjtdƒdddgdW5QRXdS)Nz0Comment characters.*cannot include the delimiterrmrwrrrrõrrrrÚ5test_delimiter_and_multiple_comments_collision_raises•s
ÿr|c Cstjtdd2tjtd|›d|›d|›d|›d    ƒ|dW5QRXtjtdd2tjtd|›d|›d|›d|›d    ƒ|d    W5QRXdS)
NrvrmrrFz3
4Ú5z6
©r©rrõ)rrrrÚ,test_collision_with_default_delimiter_raisesœs 6r€Únl)rÁrCcCs´td|›d|›d|›|›d|›d|›d|›|›ƒ}d}tjt|dtj||d    W5QRXtjt|dtj||d
W5QRXtjt|dtj||d W5QRXdS) NrrFrGrr}rJz&control character.*cannot be a newlinermrr~rr)rr$rrrrÚ%test_control_character_newline_raises­s4r‚)Ú generic_dataÚ
long_datumÚunitless_dtyperÉ)z2012-03z
2013-01-15ZM8zM8[D])ú
spam-a-lotÚtis_but_a_scratchrÌÚU17Únrows)rgrÀé`êc     CsÄ|gd|g}tj||d}td |¡ƒ}tj||d}|j|jksJt‚t||ƒtƒ\}    }
t     
|    ¡t |
dƒ} |   d |¡¡W5QRXtj|
|d}t      |
¡|j|jks¶t‚t||ƒdS)z€Check that the correct unit (e.g. month, day, second) is discovered from
    the data when a user specifies a unitless datetime.rÀr;rÁrN©rrrrÑrr<r¦rrÚosÚcloseÚopenr"Úremove) rƒr„r…rÉr‰rrr$r%ÚfdÚfnamer#rrrÚtest_parametric_unit_discovery¹s
 
 
 
r’c    Csàdgddg}tjdgddgdd}dd„}td     |¡ƒ}tj|d
|dd }|j|jksbt‚t||ƒtƒ\}}t     
|¡t |d ƒ}|  d     |¡¡W5QRXtj|d
|dd }t      |¡|j|jksÒt‚t||ƒdS) Nr†rŠZXXXtis_but_a_scratchr‡rˆr;cSs
| d¡Sr’)Ústripr•rrrr—àr˜z>test_str_dtype_unit_discovery_with_converter.<locals>.<lambda>rÁrÌ)r<r™ršrr‹)rrrœr$r%rr‘r#rrrÚ,test_str_dtype_unit_discovery_with_converterÛs$ÿ
 
 
 
r”c    Cs¸tjtddtjtdƒddW5QRXtjtddtjtdƒddW5QRXtjtddtjtdƒddW5QRXtjtddtjtdƒd    dgdW5QRXdS)
Nz#Text reading control character mustrmrzrÞrrz"comments cannot be an empty stringr~r)rrrsrxrrrrtrrrrÚtest_control_character_emptyósr•cCs(tjtdƒddd}t|dddgƒdS)    z<Byte control characters (comments, delimiter) are supported.z #header
1,2,3ó#ó,)rrrBr rCN)rrrr)r%rrrÚ test_control_characters_as_bytessr˜zignore::UserWarningcCs`tjdgdtd}t|ƒdks"t‚tddƒD].}tjd|gdtd}t|ƒ|dks,t‚q,dS)NrÞrrRrrBi)rrr¾Úlenr¦râ)r‹rärrrÚtest_field_growing_casess
rš)kÚ__doc__rïrŒrrÚtempfilerrÚiorÚnumpyrZnumpy.ma.testutilsrZ numpy.testingrrrrrtrur&Zfixturer@rFrKrUrVrcrjrvryr|r~rˆr‰r`rîrŒZskipifÚimplementationÚversionr<r‘rr r¥r¨r­r´r½r¿rÃrÇrÎrÓrÖZ    typecodesÚfilterwarningsrÚrÛr-r.ràrçrèrërñròrör÷rùrúr
r r rrrrrrr$r%Úreprr1r3r5r6r;r?r@rArHrLrYrZrxryr{r|r€r‚r’r”r•r˜ršrrrrÚ<module>s¦  
 
 
 
 
 
þþ
 
 
þ
 
 
ÿ 
 
  þþ
 
ÿ
ÿ
 
 
 
 
ÿ
 
    ÿ
 
 
 
ÿ
 
 
 
ð ÿ
 
 
    ÿ ÿÿÿ     ÿÿ þ
    ü
 
 
 Iþ
 
 
þþ   ÿ