17db96d56Sopenharmony_ci/*[clinic input] 27db96d56Sopenharmony_cipreserve 37db96d56Sopenharmony_ci[clinic start generated code]*/ 47db96d56Sopenharmony_ci 57db96d56Sopenharmony_ciPyDoc_STRVAR(_collections__count_elements__doc__, 67db96d56Sopenharmony_ci"_count_elements($module, mapping, iterable, /)\n" 77db96d56Sopenharmony_ci"--\n" 87db96d56Sopenharmony_ci"\n" 97db96d56Sopenharmony_ci"Count elements in the iterable, updating the mapping"); 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_ci#define _COLLECTIONS__COUNT_ELEMENTS_METHODDEF \ 127db96d56Sopenharmony_ci {"_count_elements", _PyCFunction_CAST(_collections__count_elements), METH_FASTCALL, _collections__count_elements__doc__}, 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_cistatic PyObject * 157db96d56Sopenharmony_ci_collections__count_elements_impl(PyObject *module, PyObject *mapping, 167db96d56Sopenharmony_ci PyObject *iterable); 177db96d56Sopenharmony_ci 187db96d56Sopenharmony_cistatic PyObject * 197db96d56Sopenharmony_ci_collections__count_elements(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 207db96d56Sopenharmony_ci{ 217db96d56Sopenharmony_ci PyObject *return_value = NULL; 227db96d56Sopenharmony_ci PyObject *mapping; 237db96d56Sopenharmony_ci PyObject *iterable; 247db96d56Sopenharmony_ci 257db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("_count_elements", nargs, 2, 2)) { 267db96d56Sopenharmony_ci goto exit; 277db96d56Sopenharmony_ci } 287db96d56Sopenharmony_ci mapping = args[0]; 297db96d56Sopenharmony_ci iterable = args[1]; 307db96d56Sopenharmony_ci return_value = _collections__count_elements_impl(module, mapping, iterable); 317db96d56Sopenharmony_ci 327db96d56Sopenharmony_ciexit: 337db96d56Sopenharmony_ci return return_value; 347db96d56Sopenharmony_ci} 357db96d56Sopenharmony_ci 367db96d56Sopenharmony_cistatic PyObject * 377db96d56Sopenharmony_cituplegetter_new_impl(PyTypeObject *type, Py_ssize_t index, PyObject *doc); 387db96d56Sopenharmony_ci 397db96d56Sopenharmony_cistatic PyObject * 407db96d56Sopenharmony_cituplegetter_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) 417db96d56Sopenharmony_ci{ 427db96d56Sopenharmony_ci PyObject *return_value = NULL; 437db96d56Sopenharmony_ci Py_ssize_t index; 447db96d56Sopenharmony_ci PyObject *doc; 457db96d56Sopenharmony_ci 467db96d56Sopenharmony_ci if ((type == &tuplegetter_type || 477db96d56Sopenharmony_ci type->tp_init == tuplegetter_type.tp_init) && 487db96d56Sopenharmony_ci !_PyArg_NoKeywords("_tuplegetter", kwargs)) { 497db96d56Sopenharmony_ci goto exit; 507db96d56Sopenharmony_ci } 517db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("_tuplegetter", PyTuple_GET_SIZE(args), 2, 2)) { 527db96d56Sopenharmony_ci goto exit; 537db96d56Sopenharmony_ci } 547db96d56Sopenharmony_ci { 557db96d56Sopenharmony_ci Py_ssize_t ival = -1; 567db96d56Sopenharmony_ci PyObject *iobj = _PyNumber_Index(PyTuple_GET_ITEM(args, 0)); 577db96d56Sopenharmony_ci if (iobj != NULL) { 587db96d56Sopenharmony_ci ival = PyLong_AsSsize_t(iobj); 597db96d56Sopenharmony_ci Py_DECREF(iobj); 607db96d56Sopenharmony_ci } 617db96d56Sopenharmony_ci if (ival == -1 && PyErr_Occurred()) { 627db96d56Sopenharmony_ci goto exit; 637db96d56Sopenharmony_ci } 647db96d56Sopenharmony_ci index = ival; 657db96d56Sopenharmony_ci } 667db96d56Sopenharmony_ci doc = PyTuple_GET_ITEM(args, 1); 677db96d56Sopenharmony_ci return_value = tuplegetter_new_impl(type, index, doc); 687db96d56Sopenharmony_ci 697db96d56Sopenharmony_ciexit: 707db96d56Sopenharmony_ci return return_value; 717db96d56Sopenharmony_ci} 727db96d56Sopenharmony_ci/*[clinic end generated code: output=36b0948c4676c831 input=a9049054013a1b77]*/ 73