17db96d56Sopenharmony_ci/*[clinic input] 27db96d56Sopenharmony_cipreserve 37db96d56Sopenharmony_ci[clinic start generated code]*/ 47db96d56Sopenharmony_ci 57db96d56Sopenharmony_ciPyDoc_STRVAR(array_array___copy____doc__, 67db96d56Sopenharmony_ci"__copy__($self, /)\n" 77db96d56Sopenharmony_ci"--\n" 87db96d56Sopenharmony_ci"\n" 97db96d56Sopenharmony_ci"Return a copy of the array."); 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_ci#define ARRAY_ARRAY___COPY___METHODDEF \ 127db96d56Sopenharmony_ci {"__copy__", (PyCFunction)array_array___copy__, METH_NOARGS, array_array___copy____doc__}, 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_cistatic PyObject * 157db96d56Sopenharmony_ciarray_array___copy___impl(arrayobject *self); 167db96d56Sopenharmony_ci 177db96d56Sopenharmony_cistatic PyObject * 187db96d56Sopenharmony_ciarray_array___copy__(arrayobject *self, PyObject *Py_UNUSED(ignored)) 197db96d56Sopenharmony_ci{ 207db96d56Sopenharmony_ci return array_array___copy___impl(self); 217db96d56Sopenharmony_ci} 227db96d56Sopenharmony_ci 237db96d56Sopenharmony_ciPyDoc_STRVAR(array_array___deepcopy____doc__, 247db96d56Sopenharmony_ci"__deepcopy__($self, unused, /)\n" 257db96d56Sopenharmony_ci"--\n" 267db96d56Sopenharmony_ci"\n" 277db96d56Sopenharmony_ci"Return a copy of the array."); 287db96d56Sopenharmony_ci 297db96d56Sopenharmony_ci#define ARRAY_ARRAY___DEEPCOPY___METHODDEF \ 307db96d56Sopenharmony_ci {"__deepcopy__", (PyCFunction)array_array___deepcopy__, METH_O, array_array___deepcopy____doc__}, 317db96d56Sopenharmony_ci 327db96d56Sopenharmony_ciPyDoc_STRVAR(array_array_count__doc__, 337db96d56Sopenharmony_ci"count($self, v, /)\n" 347db96d56Sopenharmony_ci"--\n" 357db96d56Sopenharmony_ci"\n" 367db96d56Sopenharmony_ci"Return number of occurrences of v in the array."); 377db96d56Sopenharmony_ci 387db96d56Sopenharmony_ci#define ARRAY_ARRAY_COUNT_METHODDEF \ 397db96d56Sopenharmony_ci {"count", (PyCFunction)array_array_count, METH_O, array_array_count__doc__}, 407db96d56Sopenharmony_ci 417db96d56Sopenharmony_ciPyDoc_STRVAR(array_array_index__doc__, 427db96d56Sopenharmony_ci"index($self, v, start=0, stop=sys.maxsize, /)\n" 437db96d56Sopenharmony_ci"--\n" 447db96d56Sopenharmony_ci"\n" 457db96d56Sopenharmony_ci"Return index of first occurrence of v in the array.\n" 467db96d56Sopenharmony_ci"\n" 477db96d56Sopenharmony_ci"Raise ValueError if the value is not present."); 487db96d56Sopenharmony_ci 497db96d56Sopenharmony_ci#define ARRAY_ARRAY_INDEX_METHODDEF \ 507db96d56Sopenharmony_ci {"index", _PyCFunction_CAST(array_array_index), METH_FASTCALL, array_array_index__doc__}, 517db96d56Sopenharmony_ci 527db96d56Sopenharmony_cistatic PyObject * 537db96d56Sopenharmony_ciarray_array_index_impl(arrayobject *self, PyObject *v, Py_ssize_t start, 547db96d56Sopenharmony_ci Py_ssize_t stop); 557db96d56Sopenharmony_ci 567db96d56Sopenharmony_cistatic PyObject * 577db96d56Sopenharmony_ciarray_array_index(arrayobject *self, PyObject *const *args, Py_ssize_t nargs) 587db96d56Sopenharmony_ci{ 597db96d56Sopenharmony_ci PyObject *return_value = NULL; 607db96d56Sopenharmony_ci PyObject *v; 617db96d56Sopenharmony_ci Py_ssize_t start = 0; 627db96d56Sopenharmony_ci Py_ssize_t stop = PY_SSIZE_T_MAX; 637db96d56Sopenharmony_ci 647db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("index", nargs, 1, 3)) { 657db96d56Sopenharmony_ci goto exit; 667db96d56Sopenharmony_ci } 677db96d56Sopenharmony_ci v = args[0]; 687db96d56Sopenharmony_ci if (nargs < 2) { 697db96d56Sopenharmony_ci goto skip_optional; 707db96d56Sopenharmony_ci } 717db96d56Sopenharmony_ci if (!_PyEval_SliceIndexNotNone(args[1], &start)) { 727db96d56Sopenharmony_ci goto exit; 737db96d56Sopenharmony_ci } 747db96d56Sopenharmony_ci if (nargs < 3) { 757db96d56Sopenharmony_ci goto skip_optional; 767db96d56Sopenharmony_ci } 777db96d56Sopenharmony_ci if (!_PyEval_SliceIndexNotNone(args[2], &stop)) { 787db96d56Sopenharmony_ci goto exit; 797db96d56Sopenharmony_ci } 807db96d56Sopenharmony_ciskip_optional: 817db96d56Sopenharmony_ci return_value = array_array_index_impl(self, v, start, stop); 827db96d56Sopenharmony_ci 837db96d56Sopenharmony_ciexit: 847db96d56Sopenharmony_ci return return_value; 857db96d56Sopenharmony_ci} 867db96d56Sopenharmony_ci 877db96d56Sopenharmony_ciPyDoc_STRVAR(array_array_remove__doc__, 887db96d56Sopenharmony_ci"remove($self, v, /)\n" 897db96d56Sopenharmony_ci"--\n" 907db96d56Sopenharmony_ci"\n" 917db96d56Sopenharmony_ci"Remove the first occurrence of v in the array."); 927db96d56Sopenharmony_ci 937db96d56Sopenharmony_ci#define ARRAY_ARRAY_REMOVE_METHODDEF \ 947db96d56Sopenharmony_ci {"remove", (PyCFunction)array_array_remove, METH_O, array_array_remove__doc__}, 957db96d56Sopenharmony_ci 967db96d56Sopenharmony_ciPyDoc_STRVAR(array_array_pop__doc__, 977db96d56Sopenharmony_ci"pop($self, i=-1, /)\n" 987db96d56Sopenharmony_ci"--\n" 997db96d56Sopenharmony_ci"\n" 1007db96d56Sopenharmony_ci"Return the i-th element and delete it from the array.\n" 1017db96d56Sopenharmony_ci"\n" 1027db96d56Sopenharmony_ci"i defaults to -1."); 1037db96d56Sopenharmony_ci 1047db96d56Sopenharmony_ci#define ARRAY_ARRAY_POP_METHODDEF \ 1057db96d56Sopenharmony_ci {"pop", _PyCFunction_CAST(array_array_pop), METH_FASTCALL, array_array_pop__doc__}, 1067db96d56Sopenharmony_ci 1077db96d56Sopenharmony_cistatic PyObject * 1087db96d56Sopenharmony_ciarray_array_pop_impl(arrayobject *self, Py_ssize_t i); 1097db96d56Sopenharmony_ci 1107db96d56Sopenharmony_cistatic PyObject * 1117db96d56Sopenharmony_ciarray_array_pop(arrayobject *self, PyObject *const *args, Py_ssize_t nargs) 1127db96d56Sopenharmony_ci{ 1137db96d56Sopenharmony_ci PyObject *return_value = NULL; 1147db96d56Sopenharmony_ci Py_ssize_t i = -1; 1157db96d56Sopenharmony_ci 1167db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("pop", nargs, 0, 1)) { 1177db96d56Sopenharmony_ci goto exit; 1187db96d56Sopenharmony_ci } 1197db96d56Sopenharmony_ci if (nargs < 1) { 1207db96d56Sopenharmony_ci goto skip_optional; 1217db96d56Sopenharmony_ci } 1227db96d56Sopenharmony_ci { 1237db96d56Sopenharmony_ci Py_ssize_t ival = -1; 1247db96d56Sopenharmony_ci PyObject *iobj = _PyNumber_Index(args[0]); 1257db96d56Sopenharmony_ci if (iobj != NULL) { 1267db96d56Sopenharmony_ci ival = PyLong_AsSsize_t(iobj); 1277db96d56Sopenharmony_ci Py_DECREF(iobj); 1287db96d56Sopenharmony_ci } 1297db96d56Sopenharmony_ci if (ival == -1 && PyErr_Occurred()) { 1307db96d56Sopenharmony_ci goto exit; 1317db96d56Sopenharmony_ci } 1327db96d56Sopenharmony_ci i = ival; 1337db96d56Sopenharmony_ci } 1347db96d56Sopenharmony_ciskip_optional: 1357db96d56Sopenharmony_ci return_value = array_array_pop_impl(self, i); 1367db96d56Sopenharmony_ci 1377db96d56Sopenharmony_ciexit: 1387db96d56Sopenharmony_ci return return_value; 1397db96d56Sopenharmony_ci} 1407db96d56Sopenharmony_ci 1417db96d56Sopenharmony_ciPyDoc_STRVAR(array_array_extend__doc__, 1427db96d56Sopenharmony_ci"extend($self, bb, /)\n" 1437db96d56Sopenharmony_ci"--\n" 1447db96d56Sopenharmony_ci"\n" 1457db96d56Sopenharmony_ci"Append items to the end of the array."); 1467db96d56Sopenharmony_ci 1477db96d56Sopenharmony_ci#define ARRAY_ARRAY_EXTEND_METHODDEF \ 1487db96d56Sopenharmony_ci {"extend", _PyCFunction_CAST(array_array_extend), METH_METHOD|METH_FASTCALL|METH_KEYWORDS, array_array_extend__doc__}, 1497db96d56Sopenharmony_ci 1507db96d56Sopenharmony_cistatic PyObject * 1517db96d56Sopenharmony_ciarray_array_extend_impl(arrayobject *self, PyTypeObject *cls, PyObject *bb); 1527db96d56Sopenharmony_ci 1537db96d56Sopenharmony_cistatic PyObject * 1547db96d56Sopenharmony_ciarray_array_extend(arrayobject *self, PyTypeObject *cls, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) 1557db96d56Sopenharmony_ci{ 1567db96d56Sopenharmony_ci PyObject *return_value = NULL; 1577db96d56Sopenharmony_ci static const char * const _keywords[] = {"", NULL}; 1587db96d56Sopenharmony_ci static _PyArg_Parser _parser = {NULL, _keywords, "extend", 0}; 1597db96d56Sopenharmony_ci PyObject *argsbuf[1]; 1607db96d56Sopenharmony_ci PyObject *bb; 1617db96d56Sopenharmony_ci 1627db96d56Sopenharmony_ci args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 1, 0, argsbuf); 1637db96d56Sopenharmony_ci if (!args) { 1647db96d56Sopenharmony_ci goto exit; 1657db96d56Sopenharmony_ci } 1667db96d56Sopenharmony_ci bb = args[0]; 1677db96d56Sopenharmony_ci return_value = array_array_extend_impl(self, cls, bb); 1687db96d56Sopenharmony_ci 1697db96d56Sopenharmony_ciexit: 1707db96d56Sopenharmony_ci return return_value; 1717db96d56Sopenharmony_ci} 1727db96d56Sopenharmony_ci 1737db96d56Sopenharmony_ciPyDoc_STRVAR(array_array_insert__doc__, 1747db96d56Sopenharmony_ci"insert($self, i, v, /)\n" 1757db96d56Sopenharmony_ci"--\n" 1767db96d56Sopenharmony_ci"\n" 1777db96d56Sopenharmony_ci"Insert a new item v into the array before position i."); 1787db96d56Sopenharmony_ci 1797db96d56Sopenharmony_ci#define ARRAY_ARRAY_INSERT_METHODDEF \ 1807db96d56Sopenharmony_ci {"insert", _PyCFunction_CAST(array_array_insert), METH_FASTCALL, array_array_insert__doc__}, 1817db96d56Sopenharmony_ci 1827db96d56Sopenharmony_cistatic PyObject * 1837db96d56Sopenharmony_ciarray_array_insert_impl(arrayobject *self, Py_ssize_t i, PyObject *v); 1847db96d56Sopenharmony_ci 1857db96d56Sopenharmony_cistatic PyObject * 1867db96d56Sopenharmony_ciarray_array_insert(arrayobject *self, PyObject *const *args, Py_ssize_t nargs) 1877db96d56Sopenharmony_ci{ 1887db96d56Sopenharmony_ci PyObject *return_value = NULL; 1897db96d56Sopenharmony_ci Py_ssize_t i; 1907db96d56Sopenharmony_ci PyObject *v; 1917db96d56Sopenharmony_ci 1927db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("insert", nargs, 2, 2)) { 1937db96d56Sopenharmony_ci goto exit; 1947db96d56Sopenharmony_ci } 1957db96d56Sopenharmony_ci { 1967db96d56Sopenharmony_ci Py_ssize_t ival = -1; 1977db96d56Sopenharmony_ci PyObject *iobj = _PyNumber_Index(args[0]); 1987db96d56Sopenharmony_ci if (iobj != NULL) { 1997db96d56Sopenharmony_ci ival = PyLong_AsSsize_t(iobj); 2007db96d56Sopenharmony_ci Py_DECREF(iobj); 2017db96d56Sopenharmony_ci } 2027db96d56Sopenharmony_ci if (ival == -1 && PyErr_Occurred()) { 2037db96d56Sopenharmony_ci goto exit; 2047db96d56Sopenharmony_ci } 2057db96d56Sopenharmony_ci i = ival; 2067db96d56Sopenharmony_ci } 2077db96d56Sopenharmony_ci v = args[1]; 2087db96d56Sopenharmony_ci return_value = array_array_insert_impl(self, i, v); 2097db96d56Sopenharmony_ci 2107db96d56Sopenharmony_ciexit: 2117db96d56Sopenharmony_ci return return_value; 2127db96d56Sopenharmony_ci} 2137db96d56Sopenharmony_ci 2147db96d56Sopenharmony_ciPyDoc_STRVAR(array_array_buffer_info__doc__, 2157db96d56Sopenharmony_ci"buffer_info($self, /)\n" 2167db96d56Sopenharmony_ci"--\n" 2177db96d56Sopenharmony_ci"\n" 2187db96d56Sopenharmony_ci"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" 2197db96d56Sopenharmony_ci"\n" 2207db96d56Sopenharmony_ci"The length should be multiplied by the itemsize attribute to calculate\n" 2217db96d56Sopenharmony_ci"the buffer length in bytes."); 2227db96d56Sopenharmony_ci 2237db96d56Sopenharmony_ci#define ARRAY_ARRAY_BUFFER_INFO_METHODDEF \ 2247db96d56Sopenharmony_ci {"buffer_info", (PyCFunction)array_array_buffer_info, METH_NOARGS, array_array_buffer_info__doc__}, 2257db96d56Sopenharmony_ci 2267db96d56Sopenharmony_cistatic PyObject * 2277db96d56Sopenharmony_ciarray_array_buffer_info_impl(arrayobject *self); 2287db96d56Sopenharmony_ci 2297db96d56Sopenharmony_cistatic PyObject * 2307db96d56Sopenharmony_ciarray_array_buffer_info(arrayobject *self, PyObject *Py_UNUSED(ignored)) 2317db96d56Sopenharmony_ci{ 2327db96d56Sopenharmony_ci return array_array_buffer_info_impl(self); 2337db96d56Sopenharmony_ci} 2347db96d56Sopenharmony_ci 2357db96d56Sopenharmony_ciPyDoc_STRVAR(array_array_append__doc__, 2367db96d56Sopenharmony_ci"append($self, v, /)\n" 2377db96d56Sopenharmony_ci"--\n" 2387db96d56Sopenharmony_ci"\n" 2397db96d56Sopenharmony_ci"Append new value v to the end of the array."); 2407db96d56Sopenharmony_ci 2417db96d56Sopenharmony_ci#define ARRAY_ARRAY_APPEND_METHODDEF \ 2427db96d56Sopenharmony_ci {"append", (PyCFunction)array_array_append, METH_O, array_array_append__doc__}, 2437db96d56Sopenharmony_ci 2447db96d56Sopenharmony_ciPyDoc_STRVAR(array_array_byteswap__doc__, 2457db96d56Sopenharmony_ci"byteswap($self, /)\n" 2467db96d56Sopenharmony_ci"--\n" 2477db96d56Sopenharmony_ci"\n" 2487db96d56Sopenharmony_ci"Byteswap all items of the array.\n" 2497db96d56Sopenharmony_ci"\n" 2507db96d56Sopenharmony_ci"If the items in the array are not 1, 2, 4, or 8 bytes in size, RuntimeError is\n" 2517db96d56Sopenharmony_ci"raised."); 2527db96d56Sopenharmony_ci 2537db96d56Sopenharmony_ci#define ARRAY_ARRAY_BYTESWAP_METHODDEF \ 2547db96d56Sopenharmony_ci {"byteswap", (PyCFunction)array_array_byteswap, METH_NOARGS, array_array_byteswap__doc__}, 2557db96d56Sopenharmony_ci 2567db96d56Sopenharmony_cistatic PyObject * 2577db96d56Sopenharmony_ciarray_array_byteswap_impl(arrayobject *self); 2587db96d56Sopenharmony_ci 2597db96d56Sopenharmony_cistatic PyObject * 2607db96d56Sopenharmony_ciarray_array_byteswap(arrayobject *self, PyObject *Py_UNUSED(ignored)) 2617db96d56Sopenharmony_ci{ 2627db96d56Sopenharmony_ci return array_array_byteswap_impl(self); 2637db96d56Sopenharmony_ci} 2647db96d56Sopenharmony_ci 2657db96d56Sopenharmony_ciPyDoc_STRVAR(array_array_reverse__doc__, 2667db96d56Sopenharmony_ci"reverse($self, /)\n" 2677db96d56Sopenharmony_ci"--\n" 2687db96d56Sopenharmony_ci"\n" 2697db96d56Sopenharmony_ci"Reverse the order of the items in the array."); 2707db96d56Sopenharmony_ci 2717db96d56Sopenharmony_ci#define ARRAY_ARRAY_REVERSE_METHODDEF \ 2727db96d56Sopenharmony_ci {"reverse", (PyCFunction)array_array_reverse, METH_NOARGS, array_array_reverse__doc__}, 2737db96d56Sopenharmony_ci 2747db96d56Sopenharmony_cistatic PyObject * 2757db96d56Sopenharmony_ciarray_array_reverse_impl(arrayobject *self); 2767db96d56Sopenharmony_ci 2777db96d56Sopenharmony_cistatic PyObject * 2787db96d56Sopenharmony_ciarray_array_reverse(arrayobject *self, PyObject *Py_UNUSED(ignored)) 2797db96d56Sopenharmony_ci{ 2807db96d56Sopenharmony_ci return array_array_reverse_impl(self); 2817db96d56Sopenharmony_ci} 2827db96d56Sopenharmony_ci 2837db96d56Sopenharmony_ciPyDoc_STRVAR(array_array_fromfile__doc__, 2847db96d56Sopenharmony_ci"fromfile($self, f, n, /)\n" 2857db96d56Sopenharmony_ci"--\n" 2867db96d56Sopenharmony_ci"\n" 2877db96d56Sopenharmony_ci"Read n objects from the file object f and append them to the end of the array."); 2887db96d56Sopenharmony_ci 2897db96d56Sopenharmony_ci#define ARRAY_ARRAY_FROMFILE_METHODDEF \ 2907db96d56Sopenharmony_ci {"fromfile", _PyCFunction_CAST(array_array_fromfile), METH_METHOD|METH_FASTCALL|METH_KEYWORDS, array_array_fromfile__doc__}, 2917db96d56Sopenharmony_ci 2927db96d56Sopenharmony_cistatic PyObject * 2937db96d56Sopenharmony_ciarray_array_fromfile_impl(arrayobject *self, PyTypeObject *cls, PyObject *f, 2947db96d56Sopenharmony_ci Py_ssize_t n); 2957db96d56Sopenharmony_ci 2967db96d56Sopenharmony_cistatic PyObject * 2977db96d56Sopenharmony_ciarray_array_fromfile(arrayobject *self, PyTypeObject *cls, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) 2987db96d56Sopenharmony_ci{ 2997db96d56Sopenharmony_ci PyObject *return_value = NULL; 3007db96d56Sopenharmony_ci static const char * const _keywords[] = {"", "", NULL}; 3017db96d56Sopenharmony_ci static _PyArg_Parser _parser = {NULL, _keywords, "fromfile", 0}; 3027db96d56Sopenharmony_ci PyObject *argsbuf[2]; 3037db96d56Sopenharmony_ci PyObject *f; 3047db96d56Sopenharmony_ci Py_ssize_t n; 3057db96d56Sopenharmony_ci 3067db96d56Sopenharmony_ci args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 2, 2, 0, argsbuf); 3077db96d56Sopenharmony_ci if (!args) { 3087db96d56Sopenharmony_ci goto exit; 3097db96d56Sopenharmony_ci } 3107db96d56Sopenharmony_ci f = args[0]; 3117db96d56Sopenharmony_ci { 3127db96d56Sopenharmony_ci Py_ssize_t ival = -1; 3137db96d56Sopenharmony_ci PyObject *iobj = _PyNumber_Index(args[1]); 3147db96d56Sopenharmony_ci if (iobj != NULL) { 3157db96d56Sopenharmony_ci ival = PyLong_AsSsize_t(iobj); 3167db96d56Sopenharmony_ci Py_DECREF(iobj); 3177db96d56Sopenharmony_ci } 3187db96d56Sopenharmony_ci if (ival == -1 && PyErr_Occurred()) { 3197db96d56Sopenharmony_ci goto exit; 3207db96d56Sopenharmony_ci } 3217db96d56Sopenharmony_ci n = ival; 3227db96d56Sopenharmony_ci } 3237db96d56Sopenharmony_ci return_value = array_array_fromfile_impl(self, cls, f, n); 3247db96d56Sopenharmony_ci 3257db96d56Sopenharmony_ciexit: 3267db96d56Sopenharmony_ci return return_value; 3277db96d56Sopenharmony_ci} 3287db96d56Sopenharmony_ci 3297db96d56Sopenharmony_ciPyDoc_STRVAR(array_array_tofile__doc__, 3307db96d56Sopenharmony_ci"tofile($self, f, /)\n" 3317db96d56Sopenharmony_ci"--\n" 3327db96d56Sopenharmony_ci"\n" 3337db96d56Sopenharmony_ci"Write all items (as machine values) to the file object f."); 3347db96d56Sopenharmony_ci 3357db96d56Sopenharmony_ci#define ARRAY_ARRAY_TOFILE_METHODDEF \ 3367db96d56Sopenharmony_ci {"tofile", _PyCFunction_CAST(array_array_tofile), METH_METHOD|METH_FASTCALL|METH_KEYWORDS, array_array_tofile__doc__}, 3377db96d56Sopenharmony_ci 3387db96d56Sopenharmony_cistatic PyObject * 3397db96d56Sopenharmony_ciarray_array_tofile_impl(arrayobject *self, PyTypeObject *cls, PyObject *f); 3407db96d56Sopenharmony_ci 3417db96d56Sopenharmony_cistatic PyObject * 3427db96d56Sopenharmony_ciarray_array_tofile(arrayobject *self, PyTypeObject *cls, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) 3437db96d56Sopenharmony_ci{ 3447db96d56Sopenharmony_ci PyObject *return_value = NULL; 3457db96d56Sopenharmony_ci static const char * const _keywords[] = {"", NULL}; 3467db96d56Sopenharmony_ci static _PyArg_Parser _parser = {NULL, _keywords, "tofile", 0}; 3477db96d56Sopenharmony_ci PyObject *argsbuf[1]; 3487db96d56Sopenharmony_ci PyObject *f; 3497db96d56Sopenharmony_ci 3507db96d56Sopenharmony_ci args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 1, 0, argsbuf); 3517db96d56Sopenharmony_ci if (!args) { 3527db96d56Sopenharmony_ci goto exit; 3537db96d56Sopenharmony_ci } 3547db96d56Sopenharmony_ci f = args[0]; 3557db96d56Sopenharmony_ci return_value = array_array_tofile_impl(self, cls, f); 3567db96d56Sopenharmony_ci 3577db96d56Sopenharmony_ciexit: 3587db96d56Sopenharmony_ci return return_value; 3597db96d56Sopenharmony_ci} 3607db96d56Sopenharmony_ci 3617db96d56Sopenharmony_ciPyDoc_STRVAR(array_array_fromlist__doc__, 3627db96d56Sopenharmony_ci"fromlist($self, list, /)\n" 3637db96d56Sopenharmony_ci"--\n" 3647db96d56Sopenharmony_ci"\n" 3657db96d56Sopenharmony_ci"Append items to array from list."); 3667db96d56Sopenharmony_ci 3677db96d56Sopenharmony_ci#define ARRAY_ARRAY_FROMLIST_METHODDEF \ 3687db96d56Sopenharmony_ci {"fromlist", (PyCFunction)array_array_fromlist, METH_O, array_array_fromlist__doc__}, 3697db96d56Sopenharmony_ci 3707db96d56Sopenharmony_ciPyDoc_STRVAR(array_array_tolist__doc__, 3717db96d56Sopenharmony_ci"tolist($self, /)\n" 3727db96d56Sopenharmony_ci"--\n" 3737db96d56Sopenharmony_ci"\n" 3747db96d56Sopenharmony_ci"Convert array to an ordinary list with the same items."); 3757db96d56Sopenharmony_ci 3767db96d56Sopenharmony_ci#define ARRAY_ARRAY_TOLIST_METHODDEF \ 3777db96d56Sopenharmony_ci {"tolist", (PyCFunction)array_array_tolist, METH_NOARGS, array_array_tolist__doc__}, 3787db96d56Sopenharmony_ci 3797db96d56Sopenharmony_cistatic PyObject * 3807db96d56Sopenharmony_ciarray_array_tolist_impl(arrayobject *self); 3817db96d56Sopenharmony_ci 3827db96d56Sopenharmony_cistatic PyObject * 3837db96d56Sopenharmony_ciarray_array_tolist(arrayobject *self, PyObject *Py_UNUSED(ignored)) 3847db96d56Sopenharmony_ci{ 3857db96d56Sopenharmony_ci return array_array_tolist_impl(self); 3867db96d56Sopenharmony_ci} 3877db96d56Sopenharmony_ci 3887db96d56Sopenharmony_ciPyDoc_STRVAR(array_array_frombytes__doc__, 3897db96d56Sopenharmony_ci"frombytes($self, buffer, /)\n" 3907db96d56Sopenharmony_ci"--\n" 3917db96d56Sopenharmony_ci"\n" 3927db96d56Sopenharmony_ci"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."); 3937db96d56Sopenharmony_ci 3947db96d56Sopenharmony_ci#define ARRAY_ARRAY_FROMBYTES_METHODDEF \ 3957db96d56Sopenharmony_ci {"frombytes", (PyCFunction)array_array_frombytes, METH_O, array_array_frombytes__doc__}, 3967db96d56Sopenharmony_ci 3977db96d56Sopenharmony_cistatic PyObject * 3987db96d56Sopenharmony_ciarray_array_frombytes_impl(arrayobject *self, Py_buffer *buffer); 3997db96d56Sopenharmony_ci 4007db96d56Sopenharmony_cistatic PyObject * 4017db96d56Sopenharmony_ciarray_array_frombytes(arrayobject *self, PyObject *arg) 4027db96d56Sopenharmony_ci{ 4037db96d56Sopenharmony_ci PyObject *return_value = NULL; 4047db96d56Sopenharmony_ci Py_buffer buffer = {NULL, NULL}; 4057db96d56Sopenharmony_ci 4067db96d56Sopenharmony_ci if (PyObject_GetBuffer(arg, &buffer, PyBUF_SIMPLE) != 0) { 4077db96d56Sopenharmony_ci goto exit; 4087db96d56Sopenharmony_ci } 4097db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&buffer, 'C')) { 4107db96d56Sopenharmony_ci _PyArg_BadArgument("frombytes", "argument", "contiguous buffer", arg); 4117db96d56Sopenharmony_ci goto exit; 4127db96d56Sopenharmony_ci } 4137db96d56Sopenharmony_ci return_value = array_array_frombytes_impl(self, &buffer); 4147db96d56Sopenharmony_ci 4157db96d56Sopenharmony_ciexit: 4167db96d56Sopenharmony_ci /* Cleanup for buffer */ 4177db96d56Sopenharmony_ci if (buffer.obj) { 4187db96d56Sopenharmony_ci PyBuffer_Release(&buffer); 4197db96d56Sopenharmony_ci } 4207db96d56Sopenharmony_ci 4217db96d56Sopenharmony_ci return return_value; 4227db96d56Sopenharmony_ci} 4237db96d56Sopenharmony_ci 4247db96d56Sopenharmony_ciPyDoc_STRVAR(array_array_tobytes__doc__, 4257db96d56Sopenharmony_ci"tobytes($self, /)\n" 4267db96d56Sopenharmony_ci"--\n" 4277db96d56Sopenharmony_ci"\n" 4287db96d56Sopenharmony_ci"Convert the array to an array of machine values and return the bytes representation."); 4297db96d56Sopenharmony_ci 4307db96d56Sopenharmony_ci#define ARRAY_ARRAY_TOBYTES_METHODDEF \ 4317db96d56Sopenharmony_ci {"tobytes", (PyCFunction)array_array_tobytes, METH_NOARGS, array_array_tobytes__doc__}, 4327db96d56Sopenharmony_ci 4337db96d56Sopenharmony_cistatic PyObject * 4347db96d56Sopenharmony_ciarray_array_tobytes_impl(arrayobject *self); 4357db96d56Sopenharmony_ci 4367db96d56Sopenharmony_cistatic PyObject * 4377db96d56Sopenharmony_ciarray_array_tobytes(arrayobject *self, PyObject *Py_UNUSED(ignored)) 4387db96d56Sopenharmony_ci{ 4397db96d56Sopenharmony_ci return array_array_tobytes_impl(self); 4407db96d56Sopenharmony_ci} 4417db96d56Sopenharmony_ci 4427db96d56Sopenharmony_ciPyDoc_STRVAR(array_array_fromunicode__doc__, 4437db96d56Sopenharmony_ci"fromunicode($self, ustr, /)\n" 4447db96d56Sopenharmony_ci"--\n" 4457db96d56Sopenharmony_ci"\n" 4467db96d56Sopenharmony_ci"Extends this array with data from the unicode string ustr.\n" 4477db96d56Sopenharmony_ci"\n" 4487db96d56Sopenharmony_ci"The array must be a unicode type array; otherwise a ValueError is raised.\n" 4497db96d56Sopenharmony_ci"Use array.frombytes(ustr.encode(...)) to append Unicode data to an array of\n" 4507db96d56Sopenharmony_ci"some other type."); 4517db96d56Sopenharmony_ci 4527db96d56Sopenharmony_ci#define ARRAY_ARRAY_FROMUNICODE_METHODDEF \ 4537db96d56Sopenharmony_ci {"fromunicode", (PyCFunction)array_array_fromunicode, METH_O, array_array_fromunicode__doc__}, 4547db96d56Sopenharmony_ci 4557db96d56Sopenharmony_cistatic PyObject * 4567db96d56Sopenharmony_ciarray_array_fromunicode_impl(arrayobject *self, PyObject *ustr); 4577db96d56Sopenharmony_ci 4587db96d56Sopenharmony_cistatic PyObject * 4597db96d56Sopenharmony_ciarray_array_fromunicode(arrayobject *self, PyObject *arg) 4607db96d56Sopenharmony_ci{ 4617db96d56Sopenharmony_ci PyObject *return_value = NULL; 4627db96d56Sopenharmony_ci PyObject *ustr; 4637db96d56Sopenharmony_ci 4647db96d56Sopenharmony_ci if (!PyUnicode_Check(arg)) { 4657db96d56Sopenharmony_ci _PyArg_BadArgument("fromunicode", "argument", "str", arg); 4667db96d56Sopenharmony_ci goto exit; 4677db96d56Sopenharmony_ci } 4687db96d56Sopenharmony_ci if (PyUnicode_READY(arg) == -1) { 4697db96d56Sopenharmony_ci goto exit; 4707db96d56Sopenharmony_ci } 4717db96d56Sopenharmony_ci ustr = arg; 4727db96d56Sopenharmony_ci return_value = array_array_fromunicode_impl(self, ustr); 4737db96d56Sopenharmony_ci 4747db96d56Sopenharmony_ciexit: 4757db96d56Sopenharmony_ci return return_value; 4767db96d56Sopenharmony_ci} 4777db96d56Sopenharmony_ci 4787db96d56Sopenharmony_ciPyDoc_STRVAR(array_array_tounicode__doc__, 4797db96d56Sopenharmony_ci"tounicode($self, /)\n" 4807db96d56Sopenharmony_ci"--\n" 4817db96d56Sopenharmony_ci"\n" 4827db96d56Sopenharmony_ci"Extends this array with data from the unicode string ustr.\n" 4837db96d56Sopenharmony_ci"\n" 4847db96d56Sopenharmony_ci"Convert the array to a unicode string. The array must be a unicode type array;\n" 4857db96d56Sopenharmony_ci"otherwise a ValueError is raised. Use array.tobytes().decode() to obtain a\n" 4867db96d56Sopenharmony_ci"unicode string from an array of some other type."); 4877db96d56Sopenharmony_ci 4887db96d56Sopenharmony_ci#define ARRAY_ARRAY_TOUNICODE_METHODDEF \ 4897db96d56Sopenharmony_ci {"tounicode", (PyCFunction)array_array_tounicode, METH_NOARGS, array_array_tounicode__doc__}, 4907db96d56Sopenharmony_ci 4917db96d56Sopenharmony_cistatic PyObject * 4927db96d56Sopenharmony_ciarray_array_tounicode_impl(arrayobject *self); 4937db96d56Sopenharmony_ci 4947db96d56Sopenharmony_cistatic PyObject * 4957db96d56Sopenharmony_ciarray_array_tounicode(arrayobject *self, PyObject *Py_UNUSED(ignored)) 4967db96d56Sopenharmony_ci{ 4977db96d56Sopenharmony_ci return array_array_tounicode_impl(self); 4987db96d56Sopenharmony_ci} 4997db96d56Sopenharmony_ci 5007db96d56Sopenharmony_ciPyDoc_STRVAR(array_array___sizeof____doc__, 5017db96d56Sopenharmony_ci"__sizeof__($self, /)\n" 5027db96d56Sopenharmony_ci"--\n" 5037db96d56Sopenharmony_ci"\n" 5047db96d56Sopenharmony_ci"Size of the array in memory, in bytes."); 5057db96d56Sopenharmony_ci 5067db96d56Sopenharmony_ci#define ARRAY_ARRAY___SIZEOF___METHODDEF \ 5077db96d56Sopenharmony_ci {"__sizeof__", (PyCFunction)array_array___sizeof__, METH_NOARGS, array_array___sizeof____doc__}, 5087db96d56Sopenharmony_ci 5097db96d56Sopenharmony_cistatic PyObject * 5107db96d56Sopenharmony_ciarray_array___sizeof___impl(arrayobject *self); 5117db96d56Sopenharmony_ci 5127db96d56Sopenharmony_cistatic PyObject * 5137db96d56Sopenharmony_ciarray_array___sizeof__(arrayobject *self, PyObject *Py_UNUSED(ignored)) 5147db96d56Sopenharmony_ci{ 5157db96d56Sopenharmony_ci return array_array___sizeof___impl(self); 5167db96d56Sopenharmony_ci} 5177db96d56Sopenharmony_ci 5187db96d56Sopenharmony_ciPyDoc_STRVAR(array__array_reconstructor__doc__, 5197db96d56Sopenharmony_ci"_array_reconstructor($module, arraytype, typecode, mformat_code, items,\n" 5207db96d56Sopenharmony_ci" /)\n" 5217db96d56Sopenharmony_ci"--\n" 5227db96d56Sopenharmony_ci"\n" 5237db96d56Sopenharmony_ci"Internal. Used for pickling support."); 5247db96d56Sopenharmony_ci 5257db96d56Sopenharmony_ci#define ARRAY__ARRAY_RECONSTRUCTOR_METHODDEF \ 5267db96d56Sopenharmony_ci {"_array_reconstructor", _PyCFunction_CAST(array__array_reconstructor), METH_FASTCALL, array__array_reconstructor__doc__}, 5277db96d56Sopenharmony_ci 5287db96d56Sopenharmony_cistatic PyObject * 5297db96d56Sopenharmony_ciarray__array_reconstructor_impl(PyObject *module, PyTypeObject *arraytype, 5307db96d56Sopenharmony_ci int typecode, 5317db96d56Sopenharmony_ci enum machine_format_code mformat_code, 5327db96d56Sopenharmony_ci PyObject *items); 5337db96d56Sopenharmony_ci 5347db96d56Sopenharmony_cistatic PyObject * 5357db96d56Sopenharmony_ciarray__array_reconstructor(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 5367db96d56Sopenharmony_ci{ 5377db96d56Sopenharmony_ci PyObject *return_value = NULL; 5387db96d56Sopenharmony_ci PyTypeObject *arraytype; 5397db96d56Sopenharmony_ci int typecode; 5407db96d56Sopenharmony_ci enum machine_format_code mformat_code; 5417db96d56Sopenharmony_ci PyObject *items; 5427db96d56Sopenharmony_ci 5437db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("_array_reconstructor", nargs, 4, 4)) { 5447db96d56Sopenharmony_ci goto exit; 5457db96d56Sopenharmony_ci } 5467db96d56Sopenharmony_ci arraytype = (PyTypeObject *)args[0]; 5477db96d56Sopenharmony_ci if (!PyUnicode_Check(args[1])) { 5487db96d56Sopenharmony_ci _PyArg_BadArgument("_array_reconstructor", "argument 2", "a unicode character", args[1]); 5497db96d56Sopenharmony_ci goto exit; 5507db96d56Sopenharmony_ci } 5517db96d56Sopenharmony_ci if (PyUnicode_READY(args[1])) { 5527db96d56Sopenharmony_ci goto exit; 5537db96d56Sopenharmony_ci } 5547db96d56Sopenharmony_ci if (PyUnicode_GET_LENGTH(args[1]) != 1) { 5557db96d56Sopenharmony_ci _PyArg_BadArgument("_array_reconstructor", "argument 2", "a unicode character", args[1]); 5567db96d56Sopenharmony_ci goto exit; 5577db96d56Sopenharmony_ci } 5587db96d56Sopenharmony_ci typecode = PyUnicode_READ_CHAR(args[1], 0); 5597db96d56Sopenharmony_ci mformat_code = _PyLong_AsInt(args[2]); 5607db96d56Sopenharmony_ci if (mformat_code == -1 && PyErr_Occurred()) { 5617db96d56Sopenharmony_ci goto exit; 5627db96d56Sopenharmony_ci } 5637db96d56Sopenharmony_ci items = args[3]; 5647db96d56Sopenharmony_ci return_value = array__array_reconstructor_impl(module, arraytype, typecode, mformat_code, items); 5657db96d56Sopenharmony_ci 5667db96d56Sopenharmony_ciexit: 5677db96d56Sopenharmony_ci return return_value; 5687db96d56Sopenharmony_ci} 5697db96d56Sopenharmony_ci 5707db96d56Sopenharmony_ciPyDoc_STRVAR(array_array___reduce_ex____doc__, 5717db96d56Sopenharmony_ci"__reduce_ex__($self, value, /)\n" 5727db96d56Sopenharmony_ci"--\n" 5737db96d56Sopenharmony_ci"\n" 5747db96d56Sopenharmony_ci"Return state information for pickling."); 5757db96d56Sopenharmony_ci 5767db96d56Sopenharmony_ci#define ARRAY_ARRAY___REDUCE_EX___METHODDEF \ 5777db96d56Sopenharmony_ci {"__reduce_ex__", _PyCFunction_CAST(array_array___reduce_ex__), METH_METHOD|METH_FASTCALL|METH_KEYWORDS, array_array___reduce_ex____doc__}, 5787db96d56Sopenharmony_ci 5797db96d56Sopenharmony_cistatic PyObject * 5807db96d56Sopenharmony_ciarray_array___reduce_ex___impl(arrayobject *self, PyTypeObject *cls, 5817db96d56Sopenharmony_ci PyObject *value); 5827db96d56Sopenharmony_ci 5837db96d56Sopenharmony_cistatic PyObject * 5847db96d56Sopenharmony_ciarray_array___reduce_ex__(arrayobject *self, PyTypeObject *cls, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) 5857db96d56Sopenharmony_ci{ 5867db96d56Sopenharmony_ci PyObject *return_value = NULL; 5877db96d56Sopenharmony_ci static const char * const _keywords[] = {"", NULL}; 5887db96d56Sopenharmony_ci static _PyArg_Parser _parser = {NULL, _keywords, "__reduce_ex__", 0}; 5897db96d56Sopenharmony_ci PyObject *argsbuf[1]; 5907db96d56Sopenharmony_ci PyObject *value; 5917db96d56Sopenharmony_ci 5927db96d56Sopenharmony_ci args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 1, 0, argsbuf); 5937db96d56Sopenharmony_ci if (!args) { 5947db96d56Sopenharmony_ci goto exit; 5957db96d56Sopenharmony_ci } 5967db96d56Sopenharmony_ci value = args[0]; 5977db96d56Sopenharmony_ci return_value = array_array___reduce_ex___impl(self, cls, value); 5987db96d56Sopenharmony_ci 5997db96d56Sopenharmony_ciexit: 6007db96d56Sopenharmony_ci return return_value; 6017db96d56Sopenharmony_ci} 6027db96d56Sopenharmony_ci 6037db96d56Sopenharmony_ciPyDoc_STRVAR(array_arrayiterator___reduce____doc__, 6047db96d56Sopenharmony_ci"__reduce__($self, /)\n" 6057db96d56Sopenharmony_ci"--\n" 6067db96d56Sopenharmony_ci"\n" 6077db96d56Sopenharmony_ci"Return state information for pickling."); 6087db96d56Sopenharmony_ci 6097db96d56Sopenharmony_ci#define ARRAY_ARRAYITERATOR___REDUCE___METHODDEF \ 6107db96d56Sopenharmony_ci {"__reduce__", _PyCFunction_CAST(array_arrayiterator___reduce__), METH_METHOD|METH_FASTCALL|METH_KEYWORDS, array_arrayiterator___reduce____doc__}, 6117db96d56Sopenharmony_ci 6127db96d56Sopenharmony_cistatic PyObject * 6137db96d56Sopenharmony_ciarray_arrayiterator___reduce___impl(arrayiterobject *self, PyTypeObject *cls); 6147db96d56Sopenharmony_ci 6157db96d56Sopenharmony_cistatic PyObject * 6167db96d56Sopenharmony_ciarray_arrayiterator___reduce__(arrayiterobject *self, PyTypeObject *cls, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) 6177db96d56Sopenharmony_ci{ 6187db96d56Sopenharmony_ci if (nargs) { 6197db96d56Sopenharmony_ci PyErr_SetString(PyExc_TypeError, "__reduce__() takes no arguments"); 6207db96d56Sopenharmony_ci return NULL; 6217db96d56Sopenharmony_ci } 6227db96d56Sopenharmony_ci return array_arrayiterator___reduce___impl(self, cls); 6237db96d56Sopenharmony_ci} 6247db96d56Sopenharmony_ci 6257db96d56Sopenharmony_ciPyDoc_STRVAR(array_arrayiterator___setstate____doc__, 6267db96d56Sopenharmony_ci"__setstate__($self, state, /)\n" 6277db96d56Sopenharmony_ci"--\n" 6287db96d56Sopenharmony_ci"\n" 6297db96d56Sopenharmony_ci"Set state information for unpickling."); 6307db96d56Sopenharmony_ci 6317db96d56Sopenharmony_ci#define ARRAY_ARRAYITERATOR___SETSTATE___METHODDEF \ 6327db96d56Sopenharmony_ci {"__setstate__", (PyCFunction)array_arrayiterator___setstate__, METH_O, array_arrayiterator___setstate____doc__}, 6337db96d56Sopenharmony_ci/*[clinic end generated code: output=85a5fec90d9615b9 input=a9049054013a1b77]*/ 634