(root)/
Python-3.11.7/
Modules/
clinic/
arraymodule.c.h
       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 *
      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, start=0, stop=sys.maxsize, /)\n"
      43  "--\n"
      44  "\n"
      45  "Return index of first occurrence of v in the array.\n"
      46  "\n"
      47  "Raise ValueError if the value is not present.");
      48  
      49  #define ARRAY_ARRAY_INDEX_METHODDEF    \
      50      {"index", _PyCFunction_CAST(array_array_index), METH_FASTCALL, array_array_index__doc__},
      51  
      52  static PyObject *
      53  array_array_index_impl(arrayobject *self, PyObject *v, Py_ssize_t start,
      54                         Py_ssize_t stop);
      55  
      56  static PyObject *
      57  array_array_index(arrayobject *self, PyObject *const *args, Py_ssize_t nargs)
      58  {
      59      PyObject *return_value = NULL;
      60      PyObject *v;
      61      Py_ssize_t start = 0;
      62      Py_ssize_t stop = PY_SSIZE_T_MAX;
      63  
      64      if (!_PyArg_CheckPositional("index", nargs, 1, 3)) {
      65          goto exit;
      66      }
      67      v = args[0];
      68      if (nargs < 2) {
      69          goto skip_optional;
      70      }
      71      if (!_PyEval_SliceIndexNotNone(args[1], &start)) {
      72          goto exit;
      73      }
      74      if (nargs < 3) {
      75          goto skip_optional;
      76      }
      77      if (!_PyEval_SliceIndexNotNone(args[2], &stop)) {
      78          goto exit;
      79      }
      80  skip_optional:
      81      return_value = array_array_index_impl(self, v, start, stop);
      82  
      83  exit:
      84      return return_value;
      85  }
      86  
      87  PyDoc_STRVAR(array_array_remove__doc__,
      88  "remove($self, v, /)\n"
      89  "--\n"
      90  "\n"
      91  "Remove the first occurrence of v in the array.");
      92  
      93  #define ARRAY_ARRAY_REMOVE_METHODDEF    \
      94      {"remove", (PyCFunction)array_array_remove, METH_O, array_array_remove__doc__},
      95  
      96  PyDoc_STRVAR(array_array_pop__doc__,
      97  "pop($self, i=-1, /)\n"
      98  "--\n"
      99  "\n"
     100  "Return the i-th element and delete it from the array.\n"
     101  "\n"
     102  "i defaults to -1.");
     103  
     104  #define ARRAY_ARRAY_POP_METHODDEF    \
     105      {"pop", _PyCFunction_CAST(array_array_pop), METH_FASTCALL, array_array_pop__doc__},
     106  
     107  static PyObject *
     108  array_array_pop_impl(arrayobject *self, Py_ssize_t i);
     109  
     110  static PyObject *
     111  array_array_pop(arrayobject *self, PyObject *const *args, Py_ssize_t nargs)
     112  {
     113      PyObject *return_value = NULL;
     114      Py_ssize_t i = -1;
     115  
     116      if (!_PyArg_CheckPositional("pop", nargs, 0, 1)) {
     117          goto exit;
     118      }
     119      if (nargs < 1) {
     120          goto skip_optional;
     121      }
     122      {
     123          Py_ssize_t ival = -1;
     124          PyObject *iobj = _PyNumber_Index(args[0]);
     125          if (iobj != NULL) {
     126              ival = PyLong_AsSsize_t(iobj);
     127              Py_DECREF(iobj);
     128          }
     129          if (ival == -1 && PyErr_Occurred()) {
     130              goto exit;
     131          }
     132          i = ival;
     133      }
     134  skip_optional:
     135      return_value = array_array_pop_impl(self, i);
     136  
     137  exit:
     138      return return_value;
     139  }
     140  
     141  PyDoc_STRVAR(array_array_extend__doc__,
     142  "extend($self, bb, /)\n"
     143  "--\n"
     144  "\n"
     145  "Append items to the end of the array.");
     146  
     147  #define ARRAY_ARRAY_EXTEND_METHODDEF    \
     148      {"extend", _PyCFunction_CAST(array_array_extend), METH_METHOD|METH_FASTCALL|METH_KEYWORDS, array_array_extend__doc__},
     149  
     150  static PyObject *
     151  array_array_extend_impl(arrayobject *self, PyTypeObject *cls, PyObject *bb);
     152  
     153  static PyObject *
     154  array_array_extend(arrayobject *self, PyTypeObject *cls, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames)
     155  {
     156      PyObject *return_value = NULL;
     157      static const char * const _keywords[] = {"", NULL};
     158      static _PyArg_Parser _parser = {NULL, _keywords, "extend", 0};
     159      PyObject *argsbuf[1];
     160      PyObject *bb;
     161  
     162      args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 1, 0, argsbuf);
     163      if (!args) {
     164          goto exit;
     165      }
     166      bb = args[0];
     167      return_value = array_array_extend_impl(self, cls, bb);
     168  
     169  exit:
     170      return return_value;
     171  }
     172  
     173  PyDoc_STRVAR(array_array_insert__doc__,
     174  "insert($self, i, v, /)\n"
     175  "--\n"
     176  "\n"
     177  "Insert a new item v into the array before position i.");
     178  
     179  #define ARRAY_ARRAY_INSERT_METHODDEF    \
     180      {"insert", _PyCFunction_CAST(array_array_insert), METH_FASTCALL, array_array_insert__doc__},
     181  
     182  static PyObject *
     183  array_array_insert_impl(arrayobject *self, Py_ssize_t i, PyObject *v);
     184  
     185  static PyObject *
     186  array_array_insert(arrayobject *self, PyObject *const *args, Py_ssize_t nargs)
     187  {
     188      PyObject *return_value = NULL;
     189      Py_ssize_t i;
     190      PyObject *v;
     191  
     192      if (!_PyArg_CheckPositional("insert", nargs, 2, 2)) {
     193          goto exit;
     194      }
     195      {
     196          Py_ssize_t ival = -1;
     197          PyObject *iobj = _PyNumber_Index(args[0]);
     198          if (iobj != NULL) {
     199              ival = PyLong_AsSsize_t(iobj);
     200              Py_DECREF(iobj);
     201          }
     202          if (ival == -1 && PyErr_Occurred()) {
     203              goto exit;
     204          }
     205          i = ival;
     206      }
     207      v = args[1];
     208      return_value = array_array_insert_impl(self, i, v);
     209  
     210  exit:
     211      return return_value;
     212  }
     213  
     214  PyDoc_STRVAR(array_array_buffer_info__doc__,
     215  "buffer_info($self, /)\n"
     216  "--\n"
     217  "\n"
     218  "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"
     219  "\n"
     220  "The length should be multiplied by the itemsize attribute to calculate\n"
     221  "the buffer length in bytes.");
     222  
     223  #define ARRAY_ARRAY_BUFFER_INFO_METHODDEF    \
     224      {"buffer_info", (PyCFunction)array_array_buffer_info, METH_NOARGS, array_array_buffer_info__doc__},
     225  
     226  static PyObject *
     227  array_array_buffer_info_impl(arrayobject *self);
     228  
     229  static PyObject *
     230  array_array_buffer_info(arrayobject *self, PyObject *Py_UNUSED(ignored))
     231  {
     232      return array_array_buffer_info_impl(self);
     233  }
     234  
     235  PyDoc_STRVAR(array_array_append__doc__,
     236  "append($self, v, /)\n"
     237  "--\n"
     238  "\n"
     239  "Append new value v to the end of the array.");
     240  
     241  #define ARRAY_ARRAY_APPEND_METHODDEF    \
     242      {"append", (PyCFunction)array_array_append, METH_O, array_array_append__doc__},
     243  
     244  PyDoc_STRVAR(array_array_byteswap__doc__,
     245  "byteswap($self, /)\n"
     246  "--\n"
     247  "\n"
     248  "Byteswap all items of the array.\n"
     249  "\n"
     250  "If the items in the array are not 1, 2, 4, or 8 bytes in size, RuntimeError is\n"
     251  "raised.");
     252  
     253  #define ARRAY_ARRAY_BYTESWAP_METHODDEF    \
     254      {"byteswap", (PyCFunction)array_array_byteswap, METH_NOARGS, array_array_byteswap__doc__},
     255  
     256  static PyObject *
     257  array_array_byteswap_impl(arrayobject *self);
     258  
     259  static PyObject *
     260  array_array_byteswap(arrayobject *self, PyObject *Py_UNUSED(ignored))
     261  {
     262      return array_array_byteswap_impl(self);
     263  }
     264  
     265  PyDoc_STRVAR(array_array_reverse__doc__,
     266  "reverse($self, /)\n"
     267  "--\n"
     268  "\n"
     269  "Reverse the order of the items in the array.");
     270  
     271  #define ARRAY_ARRAY_REVERSE_METHODDEF    \
     272      {"reverse", (PyCFunction)array_array_reverse, METH_NOARGS, array_array_reverse__doc__},
     273  
     274  static PyObject *
     275  array_array_reverse_impl(arrayobject *self);
     276  
     277  static PyObject *
     278  array_array_reverse(arrayobject *self, PyObject *Py_UNUSED(ignored))
     279  {
     280      return array_array_reverse_impl(self);
     281  }
     282  
     283  PyDoc_STRVAR(array_array_fromfile__doc__,
     284  "fromfile($self, f, n, /)\n"
     285  "--\n"
     286  "\n"
     287  "Read n objects from the file object f and append them to the end of the array.");
     288  
     289  #define ARRAY_ARRAY_FROMFILE_METHODDEF    \
     290      {"fromfile", _PyCFunction_CAST(array_array_fromfile), METH_METHOD|METH_FASTCALL|METH_KEYWORDS, array_array_fromfile__doc__},
     291  
     292  static PyObject *
     293  array_array_fromfile_impl(arrayobject *self, PyTypeObject *cls, PyObject *f,
     294                            Py_ssize_t n);
     295  
     296  static PyObject *
     297  array_array_fromfile(arrayobject *self, PyTypeObject *cls, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames)
     298  {
     299      PyObject *return_value = NULL;
     300      static const char * const _keywords[] = {"", "", NULL};
     301      static _PyArg_Parser _parser = {NULL, _keywords, "fromfile", 0};
     302      PyObject *argsbuf[2];
     303      PyObject *f;
     304      Py_ssize_t n;
     305  
     306      args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 2, 2, 0, argsbuf);
     307      if (!args) {
     308          goto exit;
     309      }
     310      f = args[0];
     311      {
     312          Py_ssize_t ival = -1;
     313          PyObject *iobj = _PyNumber_Index(args[1]);
     314          if (iobj != NULL) {
     315              ival = PyLong_AsSsize_t(iobj);
     316              Py_DECREF(iobj);
     317          }
     318          if (ival == -1 && PyErr_Occurred()) {
     319              goto exit;
     320          }
     321          n = ival;
     322      }
     323      return_value = array_array_fromfile_impl(self, cls, f, n);
     324  
     325  exit:
     326      return return_value;
     327  }
     328  
     329  PyDoc_STRVAR(array_array_tofile__doc__,
     330  "tofile($self, f, /)\n"
     331  "--\n"
     332  "\n"
     333  "Write all items (as machine values) to the file object f.");
     334  
     335  #define ARRAY_ARRAY_TOFILE_METHODDEF    \
     336      {"tofile", _PyCFunction_CAST(array_array_tofile), METH_METHOD|METH_FASTCALL|METH_KEYWORDS, array_array_tofile__doc__},
     337  
     338  static PyObject *
     339  array_array_tofile_impl(arrayobject *self, PyTypeObject *cls, PyObject *f);
     340  
     341  static PyObject *
     342  array_array_tofile(arrayobject *self, PyTypeObject *cls, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames)
     343  {
     344      PyObject *return_value = NULL;
     345      static const char * const _keywords[] = {"", NULL};
     346      static _PyArg_Parser _parser = {NULL, _keywords, "tofile", 0};
     347      PyObject *argsbuf[1];
     348      PyObject *f;
     349  
     350      args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 1, 0, argsbuf);
     351      if (!args) {
     352          goto exit;
     353      }
     354      f = args[0];
     355      return_value = array_array_tofile_impl(self, cls, f);
     356  
     357  exit:
     358      return return_value;
     359  }
     360  
     361  PyDoc_STRVAR(array_array_fromlist__doc__,
     362  "fromlist($self, list, /)\n"
     363  "--\n"
     364  "\n"
     365  "Append items to array from list.");
     366  
     367  #define ARRAY_ARRAY_FROMLIST_METHODDEF    \
     368      {"fromlist", (PyCFunction)array_array_fromlist, METH_O, array_array_fromlist__doc__},
     369  
     370  PyDoc_STRVAR(array_array_tolist__doc__,
     371  "tolist($self, /)\n"
     372  "--\n"
     373  "\n"
     374  "Convert array to an ordinary list with the same items.");
     375  
     376  #define ARRAY_ARRAY_TOLIST_METHODDEF    \
     377      {"tolist", (PyCFunction)array_array_tolist, METH_NOARGS, array_array_tolist__doc__},
     378  
     379  static PyObject *
     380  array_array_tolist_impl(arrayobject *self);
     381  
     382  static PyObject *
     383  array_array_tolist(arrayobject *self, PyObject *Py_UNUSED(ignored))
     384  {
     385      return array_array_tolist_impl(self);
     386  }
     387  
     388  PyDoc_STRVAR(array_array_frombytes__doc__,
     389  "frombytes($self, buffer, /)\n"
     390  "--\n"
     391  "\n"
     392  "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.");
     393  
     394  #define ARRAY_ARRAY_FROMBYTES_METHODDEF    \
     395      {"frombytes", (PyCFunction)array_array_frombytes, METH_O, array_array_frombytes__doc__},
     396  
     397  static PyObject *
     398  array_array_frombytes_impl(arrayobject *self, Py_buffer *buffer);
     399  
     400  static PyObject *
     401  array_array_frombytes(arrayobject *self, PyObject *arg)
     402  {
     403      PyObject *return_value = NULL;
     404      Py_buffer buffer = {NULL, NULL};
     405  
     406      if (PyObject_GetBuffer(arg, &buffer, PyBUF_SIMPLE) != 0) {
     407          goto exit;
     408      }
     409      if (!PyBuffer_IsContiguous(&buffer, 'C')) {
     410          _PyArg_BadArgument("frombytes", "argument", "contiguous buffer", arg);
     411          goto exit;
     412      }
     413      return_value = array_array_frombytes_impl(self, &buffer);
     414  
     415  exit:
     416      /* Cleanup for buffer */
     417      if (buffer.obj) {
     418         PyBuffer_Release(&buffer);
     419      }
     420  
     421      return return_value;
     422  }
     423  
     424  PyDoc_STRVAR(array_array_tobytes__doc__,
     425  "tobytes($self, /)\n"
     426  "--\n"
     427  "\n"
     428  "Convert the array to an array of machine values and return the bytes representation.");
     429  
     430  #define ARRAY_ARRAY_TOBYTES_METHODDEF    \
     431      {"tobytes", (PyCFunction)array_array_tobytes, METH_NOARGS, array_array_tobytes__doc__},
     432  
     433  static PyObject *
     434  array_array_tobytes_impl(arrayobject *self);
     435  
     436  static PyObject *
     437  array_array_tobytes(arrayobject *self, PyObject *Py_UNUSED(ignored))
     438  {
     439      return array_array_tobytes_impl(self);
     440  }
     441  
     442  PyDoc_STRVAR(array_array_fromunicode__doc__,
     443  "fromunicode($self, ustr, /)\n"
     444  "--\n"
     445  "\n"
     446  "Extends this array with data from the unicode string ustr.\n"
     447  "\n"
     448  "The array must be a unicode type array; otherwise a ValueError is raised.\n"
     449  "Use array.frombytes(ustr.encode(...)) to append Unicode data to an array of\n"
     450  "some other type.");
     451  
     452  #define ARRAY_ARRAY_FROMUNICODE_METHODDEF    \
     453      {"fromunicode", (PyCFunction)array_array_fromunicode, METH_O, array_array_fromunicode__doc__},
     454  
     455  static PyObject *
     456  array_array_fromunicode_impl(arrayobject *self, PyObject *ustr);
     457  
     458  static PyObject *
     459  array_array_fromunicode(arrayobject *self, PyObject *arg)
     460  {
     461      PyObject *return_value = NULL;
     462      PyObject *ustr;
     463  
     464      if (!PyUnicode_Check(arg)) {
     465          _PyArg_BadArgument("fromunicode", "argument", "str", arg);
     466          goto exit;
     467      }
     468      if (PyUnicode_READY(arg) == -1) {
     469          goto exit;
     470      }
     471      ustr = arg;
     472      return_value = array_array_fromunicode_impl(self, ustr);
     473  
     474  exit:
     475      return return_value;
     476  }
     477  
     478  PyDoc_STRVAR(array_array_tounicode__doc__,
     479  "tounicode($self, /)\n"
     480  "--\n"
     481  "\n"
     482  "Extends this array with data from the unicode string ustr.\n"
     483  "\n"
     484  "Convert the array to a unicode string.  The array must be a unicode type array;\n"
     485  "otherwise a ValueError is raised.  Use array.tobytes().decode() to obtain a\n"
     486  "unicode string from an array of some other type.");
     487  
     488  #define ARRAY_ARRAY_TOUNICODE_METHODDEF    \
     489      {"tounicode", (PyCFunction)array_array_tounicode, METH_NOARGS, array_array_tounicode__doc__},
     490  
     491  static PyObject *
     492  array_array_tounicode_impl(arrayobject *self);
     493  
     494  static PyObject *
     495  array_array_tounicode(arrayobject *self, PyObject *Py_UNUSED(ignored))
     496  {
     497      return array_array_tounicode_impl(self);
     498  }
     499  
     500  PyDoc_STRVAR(array_array___sizeof____doc__,
     501  "__sizeof__($self, /)\n"
     502  "--\n"
     503  "\n"
     504  "Size of the array in memory, in bytes.");
     505  
     506  #define ARRAY_ARRAY___SIZEOF___METHODDEF    \
     507      {"__sizeof__", (PyCFunction)array_array___sizeof__, METH_NOARGS, array_array___sizeof____doc__},
     508  
     509  static PyObject *
     510  array_array___sizeof___impl(arrayobject *self);
     511  
     512  static PyObject *
     513  array_array___sizeof__(arrayobject *self, PyObject *Py_UNUSED(ignored))
     514  {
     515      return array_array___sizeof___impl(self);
     516  }
     517  
     518  PyDoc_STRVAR(array__array_reconstructor__doc__,
     519  "_array_reconstructor($module, arraytype, typecode, mformat_code, items,\n"
     520  "                     /)\n"
     521  "--\n"
     522  "\n"
     523  "Internal. Used for pickling support.");
     524  
     525  #define ARRAY__ARRAY_RECONSTRUCTOR_METHODDEF    \
     526      {"_array_reconstructor", _PyCFunction_CAST(array__array_reconstructor), METH_FASTCALL, array__array_reconstructor__doc__},
     527  
     528  static PyObject *
     529  array__array_reconstructor_impl(PyObject *module, PyTypeObject *arraytype,
     530                                  int typecode,
     531                                  enum machine_format_code mformat_code,
     532                                  PyObject *items);
     533  
     534  static PyObject *
     535  array__array_reconstructor(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
     536  {
     537      PyObject *return_value = NULL;
     538      PyTypeObject *arraytype;
     539      int typecode;
     540      enum machine_format_code mformat_code;
     541      PyObject *items;
     542  
     543      if (!_PyArg_CheckPositional("_array_reconstructor", nargs, 4, 4)) {
     544          goto exit;
     545      }
     546      arraytype = (PyTypeObject *)args[0];
     547      if (!PyUnicode_Check(args[1])) {
     548          _PyArg_BadArgument("_array_reconstructor", "argument 2", "a unicode character", args[1]);
     549          goto exit;
     550      }
     551      if (PyUnicode_READY(args[1])) {
     552          goto exit;
     553      }
     554      if (PyUnicode_GET_LENGTH(args[1]) != 1) {
     555          _PyArg_BadArgument("_array_reconstructor", "argument 2", "a unicode character", args[1]);
     556          goto exit;
     557      }
     558      typecode = PyUnicode_READ_CHAR(args[1], 0);
     559      mformat_code = _PyLong_AsInt(args[2]);
     560      if (mformat_code == -1 && PyErr_Occurred()) {
     561          goto exit;
     562      }
     563      items = args[3];
     564      return_value = array__array_reconstructor_impl(module, arraytype, typecode, mformat_code, items);
     565  
     566  exit:
     567      return return_value;
     568  }
     569  
     570  PyDoc_STRVAR(array_array___reduce_ex____doc__,
     571  "__reduce_ex__($self, value, /)\n"
     572  "--\n"
     573  "\n"
     574  "Return state information for pickling.");
     575  
     576  #define ARRAY_ARRAY___REDUCE_EX___METHODDEF    \
     577      {"__reduce_ex__", _PyCFunction_CAST(array_array___reduce_ex__), METH_METHOD|METH_FASTCALL|METH_KEYWORDS, array_array___reduce_ex____doc__},
     578  
     579  static PyObject *
     580  array_array___reduce_ex___impl(arrayobject *self, PyTypeObject *cls,
     581                                 PyObject *value);
     582  
     583  static PyObject *
     584  array_array___reduce_ex__(arrayobject *self, PyTypeObject *cls, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames)
     585  {
     586      PyObject *return_value = NULL;
     587      static const char * const _keywords[] = {"", NULL};
     588      static _PyArg_Parser _parser = {NULL, _keywords, "__reduce_ex__", 0};
     589      PyObject *argsbuf[1];
     590      PyObject *value;
     591  
     592      args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 1, 0, argsbuf);
     593      if (!args) {
     594          goto exit;
     595      }
     596      value = args[0];
     597      return_value = array_array___reduce_ex___impl(self, cls, value);
     598  
     599  exit:
     600      return return_value;
     601  }
     602  
     603  PyDoc_STRVAR(array_arrayiterator___reduce____doc__,
     604  "__reduce__($self, /)\n"
     605  "--\n"
     606  "\n"
     607  "Return state information for pickling.");
     608  
     609  #define ARRAY_ARRAYITERATOR___REDUCE___METHODDEF    \
     610      {"__reduce__", _PyCFunction_CAST(array_arrayiterator___reduce__), METH_METHOD|METH_FASTCALL|METH_KEYWORDS, array_arrayiterator___reduce____doc__},
     611  
     612  static PyObject *
     613  array_arrayiterator___reduce___impl(arrayiterobject *self, PyTypeObject *cls);
     614  
     615  static PyObject *
     616  array_arrayiterator___reduce__(arrayiterobject *self, PyTypeObject *cls, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames)
     617  {
     618      if (nargs) {
     619          PyErr_SetString(PyExc_TypeError, "__reduce__() takes no arguments");
     620          return NULL;
     621      }
     622      return array_arrayiterator___reduce___impl(self, cls);
     623  }
     624  
     625  PyDoc_STRVAR(array_arrayiterator___setstate____doc__,
     626  "__setstate__($self, state, /)\n"
     627  "--\n"
     628  "\n"
     629  "Set state information for unpickling.");
     630  
     631  #define ARRAY_ARRAYITERATOR___SETSTATE___METHODDEF    \
     632      {"__setstate__", (PyCFunction)array_arrayiterator___setstate__, METH_O, array_arrayiterator___setstate____doc__},
     633  /*[clinic end generated code: output=85a5fec90d9615b9 input=a9049054013a1b77]*/