}
static PyObject *
-float_repr(PyFloatObject *v)
+float_repr(PyObject *op)
{
+ PyFloatObject *v = _PyFloat_CAST(op);
PyObject *result;
char *buf;
}
static Py_hash_t
-float_hash(PyFloatObject *v)
+float_hash(PyObject *op)
{
- return _Py_HashDouble((PyObject *)v, v->ob_fval);
+ PyFloatObject *v = _PyFloat_CAST(op);
+ return _Py_HashDouble(op, v->ob_fval);
}
static PyObject *
#undef DOUBLE_IS_ODD_INTEGER
static PyObject *
-float_neg(PyFloatObject *v)
+float_neg(PyObject *op)
{
+ PyFloatObject *v = _PyFloat_CAST(op);
return PyFloat_FromDouble(-v->ob_fval);
}
static PyObject *
-float_abs(PyFloatObject *v)
+float_abs(PyObject *op)
{
+ PyFloatObject *v = _PyFloat_CAST(op);
return PyFloat_FromDouble(fabs(v->ob_fval));
}
static int
-float_bool(PyFloatObject *v)
+float_bool(PyObject *op)
{
+ PyFloatObject *v = _PyFloat_CAST(op);
return v->ob_fval != 0.0;
}
CONVERT_TO_DOUBLE(self, x);
if (isnan(x) || isinf(x))
- return float_repr((PyFloatObject *)self);
+ return float_repr(self);
if (x == 0.0) {
if (copysign(1.0, x) == -1.0)
}
static PyObject *
-float_vectorcall(PyObject *type, PyObject * const*args,
+float_vectorcall(PyObject *type, PyObject *const *args,
size_t nargsf, PyObject *kwnames)
{
if (!_PyArg_NoKwnames("float", kwnames)) {
static PyObject *
-float_getreal(PyObject *v, void *closure)
+float_getreal(PyObject *v, void *Py_UNUSED(closure))
{
return float_float(v);
}
static PyObject *
-float_getimag(PyObject *v, void *closure)
+float_getimag(PyObject *Py_UNUSED(v), void *Py_UNUSED(closure))
{
return PyFloat_FromDouble(0.0);
}
static PyGetSetDef float_getset[] = {
{"real",
- float_getreal, (setter)NULL,
+ float_getreal, NULL,
"the real part of a complex number",
NULL},
{"imag",
- float_getimag, (setter)NULL,
+ float_getimag, NULL,
"the imaginary part of a complex number",
NULL},
{NULL} /* Sentinel */
float_rem, /* nb_remainder */
float_divmod, /* nb_divmod */
float_pow, /* nb_power */
- (unaryfunc)float_neg, /* nb_negative */
+ float_neg, /* nb_negative */
float_float, /* nb_positive */
- (unaryfunc)float_abs, /* nb_absolute */
- (inquiry)float_bool, /* nb_bool */
+ float_abs, /* nb_absolute */
+ float_bool, /* nb_bool */
0, /* nb_invert */
0, /* nb_lshift */
0, /* nb_rshift */
"float",
sizeof(PyFloatObject),
0,
- (destructor)float_dealloc, /* tp_dealloc */
+ float_dealloc, /* tp_dealloc */
0, /* tp_vectorcall_offset */
0, /* tp_getattr */
0, /* tp_setattr */
0, /* tp_as_async */
- (reprfunc)float_repr, /* tp_repr */
+ float_repr, /* tp_repr */
&float_as_number, /* tp_as_number */
0, /* tp_as_sequence */
0, /* tp_as_mapping */
- (hashfunc)float_hash, /* tp_hash */
+ float_hash, /* tp_hash */
0, /* tp_call */
0, /* tp_str */
PyObject_GenericGetAttr, /* tp_getattro */
0, /* tp_init */
0, /* tp_alloc */
float_new, /* tp_new */
- .tp_vectorcall = (vectorcallfunc)float_vectorcall,
+ .tp_vectorcall = float_vectorcall,
.tp_version_tag = _Py_TYPE_VERSION_FLOAT,
};