• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*[clinic input]
2 preserve
3 [clinic start generated code]*/
4 
5 PyDoc_STRVAR(array_array___copy____doc__,
6 "__copy__($self, /)\n"
7 "--\n"
8 "\n"
9 "Return a copy of the array.");
10 
11 #define ARRAY_ARRAY___COPY___METHODDEF    \
12     {"__copy__", (PyCFunction)array_array___copy__, METH_NOARGS, array_array___copy____doc__},
13 
14 static PyObject *
15 array_array___copy___impl(arrayobject *self);
16 
17 static PyObject *
array_array___copy__(arrayobject * self,PyObject * Py_UNUSED (ignored))18 array_array___copy__(arrayobject *self, PyObject *Py_UNUSED(ignored))
19 {
20     return array_array___copy___impl(self);
21 }
22 
23 PyDoc_STRVAR(array_array___deepcopy____doc__,
24 "__deepcopy__($self, unused, /)\n"
25 "--\n"
26 "\n"
27 "Return a copy of the array.");
28 
29 #define ARRAY_ARRAY___DEEPCOPY___METHODDEF    \
30     {"__deepcopy__", (PyCFunction)array_array___deepcopy__, METH_O, array_array___deepcopy____doc__},
31 
32 PyDoc_STRVAR(array_array_count__doc__,
33 "count($self, v, /)\n"
34 "--\n"
35 "\n"
36 "Return number of occurrences of v in the array.");
37 
38 #define ARRAY_ARRAY_COUNT_METHODDEF    \
39     {"count", (PyCFunction)array_array_count, METH_O, array_array_count__doc__},
40 
41 PyDoc_STRVAR(array_array_index__doc__,
42 "index($self, v, /)\n"
43 "--\n"
44 "\n"
45 "Return index of first occurrence of v in the array.");
46 
47 #define ARRAY_ARRAY_INDEX_METHODDEF    \
48     {"index", (PyCFunction)array_array_index, METH_O, array_array_index__doc__},
49 
50 PyDoc_STRVAR(array_array_remove__doc__,
51 "remove($self, v, /)\n"
52 "--\n"
53 "\n"
54 "Remove the first occurrence of v in the array.");
55 
56 #define ARRAY_ARRAY_REMOVE_METHODDEF    \
57     {"remove", (PyCFunction)array_array_remove, METH_O, array_array_remove__doc__},
58 
59 PyDoc_STRVAR(array_array_pop__doc__,
60 "pop($self, i=-1, /)\n"
61 "--\n"
62 "\n"
63 "Return the i-th element and delete it from the array.\n"
64 "\n"
65 "i defaults to -1.");
66 
67 #define ARRAY_ARRAY_POP_METHODDEF    \
68     {"pop", (PyCFunction)array_array_pop, METH_FASTCALL, array_array_pop__doc__},
69 
70 static PyObject *
71 array_array_pop_impl(arrayobject *self, Py_ssize_t i);
72 
73 static PyObject *
array_array_pop(arrayobject * self,PyObject * const * args,Py_ssize_t nargs)74 array_array_pop(arrayobject *self, PyObject *const *args, Py_ssize_t nargs)
75 {
76     PyObject *return_value = NULL;
77     Py_ssize_t i = -1;
78 
79     if (!_PyArg_ParseStack(args, nargs, "|n:pop",
80         &i)) {
81         goto exit;
82     }
83     return_value = array_array_pop_impl(self, i);
84 
85 exit:
86     return return_value;
87 }
88 
89 PyDoc_STRVAR(array_array_extend__doc__,
90 "extend($self, bb, /)\n"
91 "--\n"
92 "\n"
93 "Append items to the end of the array.");
94 
95 #define ARRAY_ARRAY_EXTEND_METHODDEF    \
96     {"extend", (PyCFunction)array_array_extend, METH_O, array_array_extend__doc__},
97 
98 PyDoc_STRVAR(array_array_insert__doc__,
99 "insert($self, i, v, /)\n"
100 "--\n"
101 "\n"
102 "Insert a new item v into the array before position i.");
103 
104 #define ARRAY_ARRAY_INSERT_METHODDEF    \
105     {"insert", (PyCFunction)array_array_insert, METH_FASTCALL, array_array_insert__doc__},
106 
107 static PyObject *
108 array_array_insert_impl(arrayobject *self, Py_ssize_t i, PyObject *v);
109 
110 static PyObject *
array_array_insert(arrayobject * self,PyObject * const * args,Py_ssize_t nargs)111 array_array_insert(arrayobject *self, PyObject *const *args, Py_ssize_t nargs)
112 {
113     PyObject *return_value = NULL;
114     Py_ssize_t i;
115     PyObject *v;
116 
117     if (!_PyArg_ParseStack(args, nargs, "nO:insert",
118         &i, &v)) {
119         goto exit;
120     }
121     return_value = array_array_insert_impl(self, i, v);
122 
123 exit:
124     return return_value;
125 }
126 
127 PyDoc_STRVAR(array_array_buffer_info__doc__,
128 "buffer_info($self, /)\n"
129 "--\n"
130 "\n"
131 "Return a tuple (address, length) giving the current memory address and the length in items of the buffer used to hold array\'s contents.\n"
132 "\n"
133 "The length should be multiplied by the itemsize attribute to calculate\n"
134 "the buffer length in bytes.");
135 
136 #define ARRAY_ARRAY_BUFFER_INFO_METHODDEF    \
137     {"buffer_info", (PyCFunction)array_array_buffer_info, METH_NOARGS, array_array_buffer_info__doc__},
138 
139 static PyObject *
140 array_array_buffer_info_impl(arrayobject *self);
141 
142 static PyObject *
array_array_buffer_info(arrayobject * self,PyObject * Py_UNUSED (ignored))143 array_array_buffer_info(arrayobject *self, PyObject *Py_UNUSED(ignored))
144 {
145     return array_array_buffer_info_impl(self);
146 }
147 
148 PyDoc_STRVAR(array_array_append__doc__,
149 "append($self, v, /)\n"
150 "--\n"
151 "\n"
152 "Append new value v to the end of the array.");
153 
154 #define ARRAY_ARRAY_APPEND_METHODDEF    \
155     {"append", (PyCFunction)array_array_append, METH_O, array_array_append__doc__},
156 
157 PyDoc_STRVAR(array_array_byteswap__doc__,
158 "byteswap($self, /)\n"
159 "--\n"
160 "\n"
161 "Byteswap all items of the array.\n"
162 "\n"
163 "If the items in the array are not 1, 2, 4, or 8 bytes in size, RuntimeError is\n"
164 "raised.");
165 
166 #define ARRAY_ARRAY_BYTESWAP_METHODDEF    \
167     {"byteswap", (PyCFunction)array_array_byteswap, METH_NOARGS, array_array_byteswap__doc__},
168 
169 static PyObject *
170 array_array_byteswap_impl(arrayobject *self);
171 
172 static PyObject *
array_array_byteswap(arrayobject * self,PyObject * Py_UNUSED (ignored))173 array_array_byteswap(arrayobject *self, PyObject *Py_UNUSED(ignored))
174 {
175     return array_array_byteswap_impl(self);
176 }
177 
178 PyDoc_STRVAR(array_array_reverse__doc__,
179 "reverse($self, /)\n"
180 "--\n"
181 "\n"
182 "Reverse the order of the items in the array.");
183 
184 #define ARRAY_ARRAY_REVERSE_METHODDEF    \
185     {"reverse", (PyCFunction)array_array_reverse, METH_NOARGS, array_array_reverse__doc__},
186 
187 static PyObject *
188 array_array_reverse_impl(arrayobject *self);
189 
190 static PyObject *
array_array_reverse(arrayobject * self,PyObject * Py_UNUSED (ignored))191 array_array_reverse(arrayobject *self, PyObject *Py_UNUSED(ignored))
192 {
193     return array_array_reverse_impl(self);
194 }
195 
196 PyDoc_STRVAR(array_array_fromfile__doc__,
197 "fromfile($self, f, n, /)\n"
198 "--\n"
199 "\n"
200 "Read n objects from the file object f and append them to the end of the array.");
201 
202 #define ARRAY_ARRAY_FROMFILE_METHODDEF    \
203     {"fromfile", (PyCFunction)array_array_fromfile, METH_FASTCALL, array_array_fromfile__doc__},
204 
205 static PyObject *
206 array_array_fromfile_impl(arrayobject *self, PyObject *f, Py_ssize_t n);
207 
208 static PyObject *
array_array_fromfile(arrayobject * self,PyObject * const * args,Py_ssize_t nargs)209 array_array_fromfile(arrayobject *self, PyObject *const *args, Py_ssize_t nargs)
210 {
211     PyObject *return_value = NULL;
212     PyObject *f;
213     Py_ssize_t n;
214 
215     if (!_PyArg_ParseStack(args, nargs, "On:fromfile",
216         &f, &n)) {
217         goto exit;
218     }
219     return_value = array_array_fromfile_impl(self, f, n);
220 
221 exit:
222     return return_value;
223 }
224 
225 PyDoc_STRVAR(array_array_tofile__doc__,
226 "tofile($self, f, /)\n"
227 "--\n"
228 "\n"
229 "Write all items (as machine values) to the file object f.");
230 
231 #define ARRAY_ARRAY_TOFILE_METHODDEF    \
232     {"tofile", (PyCFunction)array_array_tofile, METH_O, array_array_tofile__doc__},
233 
234 PyDoc_STRVAR(array_array_fromlist__doc__,
235 "fromlist($self, list, /)\n"
236 "--\n"
237 "\n"
238 "Append items to array from list.");
239 
240 #define ARRAY_ARRAY_FROMLIST_METHODDEF    \
241     {"fromlist", (PyCFunction)array_array_fromlist, METH_O, array_array_fromlist__doc__},
242 
243 PyDoc_STRVAR(array_array_tolist__doc__,
244 "tolist($self, /)\n"
245 "--\n"
246 "\n"
247 "Convert array to an ordinary list with the same items.");
248 
249 #define ARRAY_ARRAY_TOLIST_METHODDEF    \
250     {"tolist", (PyCFunction)array_array_tolist, METH_NOARGS, array_array_tolist__doc__},
251 
252 static PyObject *
253 array_array_tolist_impl(arrayobject *self);
254 
255 static PyObject *
array_array_tolist(arrayobject * self,PyObject * Py_UNUSED (ignored))256 array_array_tolist(arrayobject *self, PyObject *Py_UNUSED(ignored))
257 {
258     return array_array_tolist_impl(self);
259 }
260 
261 PyDoc_STRVAR(array_array_fromstring__doc__,
262 "fromstring($self, buffer, /)\n"
263 "--\n"
264 "\n"
265 "Appends items from the string, interpreting it as an array of machine values, as if it had been read from a file using the fromfile() method).\n"
266 "\n"
267 "This method is deprecated. Use frombytes instead.");
268 
269 #define ARRAY_ARRAY_FROMSTRING_METHODDEF    \
270     {"fromstring", (PyCFunction)array_array_fromstring, METH_O, array_array_fromstring__doc__},
271 
272 static PyObject *
273 array_array_fromstring_impl(arrayobject *self, Py_buffer *buffer);
274 
275 static PyObject *
array_array_fromstring(arrayobject * self,PyObject * arg)276 array_array_fromstring(arrayobject *self, PyObject *arg)
277 {
278     PyObject *return_value = NULL;
279     Py_buffer buffer = {NULL, NULL};
280 
281     if (!PyArg_Parse(arg, "s*:fromstring", &buffer)) {
282         goto exit;
283     }
284     return_value = array_array_fromstring_impl(self, &buffer);
285 
286 exit:
287     /* Cleanup for buffer */
288     if (buffer.obj) {
289        PyBuffer_Release(&buffer);
290     }
291 
292     return return_value;
293 }
294 
295 PyDoc_STRVAR(array_array_frombytes__doc__,
296 "frombytes($self, buffer, /)\n"
297 "--\n"
298 "\n"
299 "Appends items from the string, interpreting it as an array of machine values, as if it had been read from a file using the fromfile() method).");
300 
301 #define ARRAY_ARRAY_FROMBYTES_METHODDEF    \
302     {"frombytes", (PyCFunction)array_array_frombytes, METH_O, array_array_frombytes__doc__},
303 
304 static PyObject *
305 array_array_frombytes_impl(arrayobject *self, Py_buffer *buffer);
306 
307 static PyObject *
array_array_frombytes(arrayobject * self,PyObject * arg)308 array_array_frombytes(arrayobject *self, PyObject *arg)
309 {
310     PyObject *return_value = NULL;
311     Py_buffer buffer = {NULL, NULL};
312 
313     if (!PyArg_Parse(arg, "y*:frombytes", &buffer)) {
314         goto exit;
315     }
316     return_value = array_array_frombytes_impl(self, &buffer);
317 
318 exit:
319     /* Cleanup for buffer */
320     if (buffer.obj) {
321        PyBuffer_Release(&buffer);
322     }
323 
324     return return_value;
325 }
326 
327 PyDoc_STRVAR(array_array_tobytes__doc__,
328 "tobytes($self, /)\n"
329 "--\n"
330 "\n"
331 "Convert the array to an array of machine values and return the bytes representation.");
332 
333 #define ARRAY_ARRAY_TOBYTES_METHODDEF    \
334     {"tobytes", (PyCFunction)array_array_tobytes, METH_NOARGS, array_array_tobytes__doc__},
335 
336 static PyObject *
337 array_array_tobytes_impl(arrayobject *self);
338 
339 static PyObject *
array_array_tobytes(arrayobject * self,PyObject * Py_UNUSED (ignored))340 array_array_tobytes(arrayobject *self, PyObject *Py_UNUSED(ignored))
341 {
342     return array_array_tobytes_impl(self);
343 }
344 
345 PyDoc_STRVAR(array_array_tostring__doc__,
346 "tostring($self, /)\n"
347 "--\n"
348 "\n"
349 "Convert the array to an array of machine values and return the bytes representation.\n"
350 "\n"
351 "This method is deprecated. Use tobytes instead.");
352 
353 #define ARRAY_ARRAY_TOSTRING_METHODDEF    \
354     {"tostring", (PyCFunction)array_array_tostring, METH_NOARGS, array_array_tostring__doc__},
355 
356 static PyObject *
357 array_array_tostring_impl(arrayobject *self);
358 
359 static PyObject *
array_array_tostring(arrayobject * self,PyObject * Py_UNUSED (ignored))360 array_array_tostring(arrayobject *self, PyObject *Py_UNUSED(ignored))
361 {
362     return array_array_tostring_impl(self);
363 }
364 
365 PyDoc_STRVAR(array_array_fromunicode__doc__,
366 "fromunicode($self, ustr, /)\n"
367 "--\n"
368 "\n"
369 "Extends this array with data from the unicode string ustr.\n"
370 "\n"
371 "The array must be a unicode type array; otherwise a ValueError is raised.\n"
372 "Use array.frombytes(ustr.encode(...)) to append Unicode data to an array of\n"
373 "some other type.");
374 
375 #define ARRAY_ARRAY_FROMUNICODE_METHODDEF    \
376     {"fromunicode", (PyCFunction)array_array_fromunicode, METH_O, array_array_fromunicode__doc__},
377 
378 static PyObject *
379 array_array_fromunicode_impl(arrayobject *self, const Py_UNICODE *ustr,
380                              Py_ssize_clean_t ustr_length);
381 
382 static PyObject *
array_array_fromunicode(arrayobject * self,PyObject * arg)383 array_array_fromunicode(arrayobject *self, PyObject *arg)
384 {
385     PyObject *return_value = NULL;
386     const Py_UNICODE *ustr;
387     Py_ssize_clean_t ustr_length;
388 
389     if (!PyArg_Parse(arg, "u#:fromunicode", &ustr, &ustr_length)) {
390         goto exit;
391     }
392     return_value = array_array_fromunicode_impl(self, ustr, ustr_length);
393 
394 exit:
395     return return_value;
396 }
397 
398 PyDoc_STRVAR(array_array_tounicode__doc__,
399 "tounicode($self, /)\n"
400 "--\n"
401 "\n"
402 "Extends this array with data from the unicode string ustr.\n"
403 "\n"
404 "Convert the array to a unicode string.  The array must be a unicode type array;\n"
405 "otherwise a ValueError is raised.  Use array.tobytes().decode() to obtain a\n"
406 "unicode string from an array of some other type.");
407 
408 #define ARRAY_ARRAY_TOUNICODE_METHODDEF    \
409     {"tounicode", (PyCFunction)array_array_tounicode, METH_NOARGS, array_array_tounicode__doc__},
410 
411 static PyObject *
412 array_array_tounicode_impl(arrayobject *self);
413 
414 static PyObject *
array_array_tounicode(arrayobject * self,PyObject * Py_UNUSED (ignored))415 array_array_tounicode(arrayobject *self, PyObject *Py_UNUSED(ignored))
416 {
417     return array_array_tounicode_impl(self);
418 }
419 
420 PyDoc_STRVAR(array_array___sizeof____doc__,
421 "__sizeof__($self, /)\n"
422 "--\n"
423 "\n"
424 "Size of the array in memory, in bytes.");
425 
426 #define ARRAY_ARRAY___SIZEOF___METHODDEF    \
427     {"__sizeof__", (PyCFunction)array_array___sizeof__, METH_NOARGS, array_array___sizeof____doc__},
428 
429 static PyObject *
430 array_array___sizeof___impl(arrayobject *self);
431 
432 static PyObject *
array_array___sizeof__(arrayobject * self,PyObject * Py_UNUSED (ignored))433 array_array___sizeof__(arrayobject *self, PyObject *Py_UNUSED(ignored))
434 {
435     return array_array___sizeof___impl(self);
436 }
437 
438 PyDoc_STRVAR(array__array_reconstructor__doc__,
439 "_array_reconstructor($module, arraytype, typecode, mformat_code, items,\n"
440 "                     /)\n"
441 "--\n"
442 "\n"
443 "Internal. Used for pickling support.");
444 
445 #define ARRAY__ARRAY_RECONSTRUCTOR_METHODDEF    \
446     {"_array_reconstructor", (PyCFunction)array__array_reconstructor, METH_FASTCALL, array__array_reconstructor__doc__},
447 
448 static PyObject *
449 array__array_reconstructor_impl(PyObject *module, PyTypeObject *arraytype,
450                                 int typecode,
451                                 enum machine_format_code mformat_code,
452                                 PyObject *items);
453 
454 static PyObject *
array__array_reconstructor(PyObject * module,PyObject * const * args,Py_ssize_t nargs)455 array__array_reconstructor(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
456 {
457     PyObject *return_value = NULL;
458     PyTypeObject *arraytype;
459     int typecode;
460     enum machine_format_code mformat_code;
461     PyObject *items;
462 
463     if (!_PyArg_ParseStack(args, nargs, "OCiO:_array_reconstructor",
464         &arraytype, &typecode, &mformat_code, &items)) {
465         goto exit;
466     }
467     return_value = array__array_reconstructor_impl(module, arraytype, typecode, mformat_code, items);
468 
469 exit:
470     return return_value;
471 }
472 
473 PyDoc_STRVAR(array_array___reduce_ex____doc__,
474 "__reduce_ex__($self, value, /)\n"
475 "--\n"
476 "\n"
477 "Return state information for pickling.");
478 
479 #define ARRAY_ARRAY___REDUCE_EX___METHODDEF    \
480     {"__reduce_ex__", (PyCFunction)array_array___reduce_ex__, METH_O, array_array___reduce_ex____doc__},
481 
482 PyDoc_STRVAR(array_arrayiterator___reduce____doc__,
483 "__reduce__($self, /)\n"
484 "--\n"
485 "\n"
486 "Return state information for pickling.");
487 
488 #define ARRAY_ARRAYITERATOR___REDUCE___METHODDEF    \
489     {"__reduce__", (PyCFunction)array_arrayiterator___reduce__, METH_NOARGS, array_arrayiterator___reduce____doc__},
490 
491 static PyObject *
492 array_arrayiterator___reduce___impl(arrayiterobject *self);
493 
494 static PyObject *
array_arrayiterator___reduce__(arrayiterobject * self,PyObject * Py_UNUSED (ignored))495 array_arrayiterator___reduce__(arrayiterobject *self, PyObject *Py_UNUSED(ignored))
496 {
497     return array_arrayiterator___reduce___impl(self);
498 }
499 
500 PyDoc_STRVAR(array_arrayiterator___setstate____doc__,
501 "__setstate__($self, state, /)\n"
502 "--\n"
503 "\n"
504 "Set state information for unpickling.");
505 
506 #define ARRAY_ARRAYITERATOR___SETSTATE___METHODDEF    \
507     {"__setstate__", (PyCFunction)array_arrayiterator___setstate__, METH_O, array_arrayiterator___setstate____doc__},
508 /*[clinic end generated code: output=2d0fb1937dea02c2 input=a9049054013a1b77]*/
509