aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/python3/src/Modules/clinic/_collectionsmodule.c.h
blob: fd2ef8d4189fb6c307104d2b8c438d5c5cc62478 (plain) (blame)
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
/*[clinic input] 
preserve 
[clinic start generated code]*/ 
 
PyDoc_STRVAR(_collections__count_elements__doc__, 
"_count_elements($module, mapping, iterable, /)\n" 
"--\n" 
"\n" 
"Count elements in the iterable, updating the mapping"); 
 
#define _COLLECTIONS__COUNT_ELEMENTS_METHODDEF    \ 
    {"_count_elements", (PyCFunction)(void(*)(void))_collections__count_elements, METH_FASTCALL, _collections__count_elements__doc__}, 
 
static PyObject * 
_collections__count_elements_impl(PyObject *module, PyObject *mapping, 
                                  PyObject *iterable); 
 
static PyObject * 
_collections__count_elements(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 
{ 
    PyObject *return_value = NULL; 
    PyObject *mapping; 
    PyObject *iterable; 
 
    if (!_PyArg_CheckPositional("_count_elements", nargs, 2, 2)) { 
        goto exit; 
    } 
    mapping = args[0]; 
    iterable = args[1]; 
    return_value = _collections__count_elements_impl(module, mapping, iterable); 
 
exit: 
    return return_value; 
} 
 
static PyObject * 
tuplegetter_new_impl(PyTypeObject *type, Py_ssize_t index, PyObject *doc); 
 
static PyObject * 
tuplegetter_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) 
{ 
    PyObject *return_value = NULL; 
    Py_ssize_t index; 
    PyObject *doc; 
 
    if ((type == &tuplegetter_type) && 
        !_PyArg_NoKeywords("_tuplegetter", kwargs)) { 
        goto exit; 
    } 
    if (!_PyArg_CheckPositional("_tuplegetter", PyTuple_GET_SIZE(args), 2, 2)) { 
        goto exit; 
    } 
    if (PyFloat_Check(PyTuple_GET_ITEM(args, 0))) { 
        PyErr_SetString(PyExc_TypeError, 
                        "integer argument expected, got float" ); 
        goto exit; 
    } 
    { 
        Py_ssize_t ival = -1; 
        PyObject *iobj = PyNumber_Index(PyTuple_GET_ITEM(args, 0)); 
        if (iobj != NULL) { 
            ival = PyLong_AsSsize_t(iobj); 
            Py_DECREF(iobj); 
        } 
        if (ival == -1 && PyErr_Occurred()) { 
            goto exit; 
        } 
        index = ival; 
    } 
    doc = PyTuple_GET_ITEM(args, 1); 
    return_value = tuplegetter_new_impl(type, index, doc); 
 
exit: 
    return return_value; 
} 
/*[clinic end generated code: output=9d2bfcc9df5faf35 input=a9049054013a1b77]*/