mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 03:44:55 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			121 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
		
			Generated
		
	
	
			
		
		
	
	
			121 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
		
			Generated
		
	
	
/*[clinic input]
 | 
						|
preserve
 | 
						|
[clinic start generated code]*/
 | 
						|
 | 
						|
#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
 | 
						|
#  include "pycore_gc.h"            // PyGC_Head
 | 
						|
#  include "pycore_runtime.h"       // _Py_ID()
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
PyDoc_STRVAR(tuple_index__doc__,
 | 
						|
"index($self, value, start=0, stop=sys.maxsize, /)\n"
 | 
						|
"--\n"
 | 
						|
"\n"
 | 
						|
"Return first index of value.\n"
 | 
						|
"\n"
 | 
						|
"Raises ValueError if the value is not present.");
 | 
						|
 | 
						|
#define TUPLE_INDEX_METHODDEF    \
 | 
						|
    {"index", _PyCFunction_CAST(tuple_index), METH_FASTCALL, tuple_index__doc__},
 | 
						|
 | 
						|
static PyObject *
 | 
						|
tuple_index_impl(PyTupleObject *self, PyObject *value, Py_ssize_t start,
 | 
						|
                 Py_ssize_t stop);
 | 
						|
 | 
						|
static PyObject *
 | 
						|
tuple_index(PyTupleObject *self, PyObject *const *args, Py_ssize_t nargs)
 | 
						|
{
 | 
						|
    PyObject *return_value = NULL;
 | 
						|
    PyObject *value;
 | 
						|
    Py_ssize_t start = 0;
 | 
						|
    Py_ssize_t stop = PY_SSIZE_T_MAX;
 | 
						|
 | 
						|
    if (!_PyArg_CheckPositional("index", nargs, 1, 3)) {
 | 
						|
        goto exit;
 | 
						|
    }
 | 
						|
    value = args[0];
 | 
						|
    if (nargs < 2) {
 | 
						|
        goto skip_optional;
 | 
						|
    }
 | 
						|
    if (!_PyEval_SliceIndexNotNone(args[1], &start)) {
 | 
						|
        goto exit;
 | 
						|
    }
 | 
						|
    if (nargs < 3) {
 | 
						|
        goto skip_optional;
 | 
						|
    }
 | 
						|
    if (!_PyEval_SliceIndexNotNone(args[2], &stop)) {
 | 
						|
        goto exit;
 | 
						|
    }
 | 
						|
skip_optional:
 | 
						|
    return_value = tuple_index_impl(self, value, start, stop);
 | 
						|
 | 
						|
exit:
 | 
						|
    return return_value;
 | 
						|
}
 | 
						|
 | 
						|
PyDoc_STRVAR(tuple_count__doc__,
 | 
						|
"count($self, value, /)\n"
 | 
						|
"--\n"
 | 
						|
"\n"
 | 
						|
"Return number of occurrences of value.");
 | 
						|
 | 
						|
#define TUPLE_COUNT_METHODDEF    \
 | 
						|
    {"count", (PyCFunction)tuple_count, METH_O, tuple_count__doc__},
 | 
						|
 | 
						|
PyDoc_STRVAR(tuple_new__doc__,
 | 
						|
"tuple(iterable=(), /)\n"
 | 
						|
"--\n"
 | 
						|
"\n"
 | 
						|
"Built-in immutable sequence.\n"
 | 
						|
"\n"
 | 
						|
"If no argument is given, the constructor returns an empty tuple.\n"
 | 
						|
"If iterable is specified the tuple is initialized from iterable\'s items.\n"
 | 
						|
"\n"
 | 
						|
"If the argument is a tuple, the return value is the same object.");
 | 
						|
 | 
						|
static PyObject *
 | 
						|
tuple_new_impl(PyTypeObject *type, PyObject *iterable);
 | 
						|
 | 
						|
static PyObject *
 | 
						|
tuple_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
 | 
						|
{
 | 
						|
    PyObject *return_value = NULL;
 | 
						|
    PyTypeObject *base_tp = &PyTuple_Type;
 | 
						|
    PyObject *iterable = NULL;
 | 
						|
 | 
						|
    if ((type == base_tp || type->tp_init == base_tp->tp_init) &&
 | 
						|
        !_PyArg_NoKeywords("tuple", kwargs)) {
 | 
						|
        goto exit;
 | 
						|
    }
 | 
						|
    if (!_PyArg_CheckPositional("tuple", PyTuple_GET_SIZE(args), 0, 1)) {
 | 
						|
        goto exit;
 | 
						|
    }
 | 
						|
    if (PyTuple_GET_SIZE(args) < 1) {
 | 
						|
        goto skip_optional;
 | 
						|
    }
 | 
						|
    iterable = PyTuple_GET_ITEM(args, 0);
 | 
						|
skip_optional:
 | 
						|
    return_value = tuple_new_impl(type, iterable);
 | 
						|
 | 
						|
exit:
 | 
						|
    return return_value;
 | 
						|
}
 | 
						|
 | 
						|
PyDoc_STRVAR(tuple___getnewargs____doc__,
 | 
						|
"__getnewargs__($self, /)\n"
 | 
						|
"--\n"
 | 
						|
"\n");
 | 
						|
 | 
						|
#define TUPLE___GETNEWARGS___METHODDEF    \
 | 
						|
    {"__getnewargs__", (PyCFunction)tuple___getnewargs__, METH_NOARGS, tuple___getnewargs____doc__},
 | 
						|
 | 
						|
static PyObject *
 | 
						|
tuple___getnewargs___impl(PyTupleObject *self);
 | 
						|
 | 
						|
static PyObject *
 | 
						|
tuple___getnewargs__(PyTupleObject *self, PyObject *Py_UNUSED(ignored))
 | 
						|
{
 | 
						|
    return tuple___getnewargs___impl(self);
 | 
						|
}
 | 
						|
/*[clinic end generated code: output=48a9e0834b300ac3 input=a9049054013a1b77]*/
 |