@@ -369,8 +369,9 @@ _Py_convert_int_to_double(PyObject **v, double *dbl)
369369}
370370
371371static PyObject *
372- float_repr (PyFloatObject * v )
372+ float_repr (PyObject * op )
373373{
374+ PyFloatObject * v = _PyFloat_CAST (op );
374375 PyObject * result ;
375376 char * buf ;
376377
@@ -579,9 +580,10 @@ float_richcompare(PyObject *v, PyObject *w, int op)
579580}
580581
581582static Py_hash_t
582- float_hash (PyFloatObject * v )
583+ float_hash (PyObject * op )
583584{
584- return _Py_HashDouble ((PyObject * )v , v -> ob_fval );
585+ PyFloatObject * v = _PyFloat_CAST (op );
586+ return _Py_HashDouble (op , v -> ob_fval );
585587}
586588
587589static PyObject *
@@ -851,20 +853,23 @@ float_pow(PyObject *v, PyObject *w, PyObject *z)
851853#undef DOUBLE_IS_ODD_INTEGER
852854
853855static PyObject *
854- float_neg (PyFloatObject * v )
856+ float_neg (PyObject * op )
855857{
858+ PyFloatObject * v = _PyFloat_CAST (op );
856859 return PyFloat_FromDouble (- v -> ob_fval );
857860}
858861
859862static PyObject *
860- float_abs (PyFloatObject * v )
863+ float_abs (PyObject * op )
861864{
865+ PyFloatObject * v = _PyFloat_CAST (op );
862866 return PyFloat_FromDouble (fabs (v -> ob_fval ));
863867}
864868
865869static int
866- float_bool (PyFloatObject * v )
870+ float_bool (PyObject * op )
867871{
872+ PyFloatObject * v = _PyFloat_CAST (op );
868873 return v -> ob_fval != 0.0 ;
869874}
870875
@@ -1206,7 +1211,7 @@ float_hex_impl(PyObject *self)
12061211 CONVERT_TO_DOUBLE (self , x );
12071212
12081213 if (isnan (x ) || isinf (x ))
1209- return float_repr (( PyFloatObject * ) self );
1214+ return float_repr (self );
12101215
12111216 if (x == 0.0 ) {
12121217 if (copysign (1.0 , x ) == -1.0 )
@@ -1651,7 +1656,7 @@ float_subtype_new(PyTypeObject *type, PyObject *x)
16511656}
16521657
16531658static PyObject *
1654- float_vectorcall (PyObject * type , PyObject * const * args ,
1659+ float_vectorcall (PyObject * type , PyObject * const * args ,
16551660 size_t nargsf , PyObject * kwnames )
16561661{
16571662 if (!_PyArg_NoKwnames ("float" , kwnames )) {
@@ -1771,13 +1776,13 @@ float___getformat___impl(PyTypeObject *type, const char *typestr)
17711776
17721777
17731778static PyObject *
1774- float_getreal (PyObject * v , void * closure )
1779+ float_getreal (PyObject * v , void * Py_UNUSED ( closure ) )
17751780{
17761781 return float_float (v );
17771782}
17781783
17791784static PyObject *
1780- float_getimag (PyObject * v , void * closure )
1785+ float_getimag (PyObject * Py_UNUSED ( v ) , void * Py_UNUSED ( closure ) )
17811786{
17821787 return PyFloat_FromDouble (0.0 );
17831788}
@@ -1829,11 +1834,11 @@ static PyMethodDef float_methods[] = {
18291834
18301835static PyGetSetDef float_getset [] = {
18311836 {"real" ,
1832- float_getreal , ( setter ) NULL ,
1837+ float_getreal , NULL ,
18331838 "the real part of a complex number" ,
18341839 NULL },
18351840 {"imag" ,
1836- float_getimag , ( setter ) NULL ,
1841+ float_getimag , NULL ,
18371842 "the imaginary part of a complex number" ,
18381843 NULL },
18391844 {NULL } /* Sentinel */
@@ -1847,10 +1852,10 @@ static PyNumberMethods float_as_number = {
18471852 float_rem , /* nb_remainder */
18481853 float_divmod , /* nb_divmod */
18491854 float_pow , /* nb_power */
1850- ( unaryfunc ) float_neg , /* nb_negative */
1855+ float_neg , /* nb_negative */
18511856 float_float , /* nb_positive */
1852- ( unaryfunc ) float_abs , /* nb_absolute */
1853- ( inquiry ) float_bool , /* nb_bool */
1857+ float_abs , /* nb_absolute */
1858+ float_bool , /* nb_bool */
18541859 0 , /* nb_invert */
18551860 0 , /* nb_lshift */
18561861 0 , /* nb_rshift */
@@ -1881,16 +1886,16 @@ PyTypeObject PyFloat_Type = {
18811886 "float" ,
18821887 sizeof (PyFloatObject ),
18831888 0 ,
1884- ( destructor ) float_dealloc , /* tp_dealloc */
1889+ float_dealloc , /* tp_dealloc */
18851890 0 , /* tp_vectorcall_offset */
18861891 0 , /* tp_getattr */
18871892 0 , /* tp_setattr */
18881893 0 , /* tp_as_async */
1889- ( reprfunc ) float_repr , /* tp_repr */
1894+ float_repr , /* tp_repr */
18901895 & float_as_number , /* tp_as_number */
18911896 0 , /* tp_as_sequence */
18921897 0 , /* tp_as_mapping */
1893- ( hashfunc ) float_hash , /* tp_hash */
1898+ float_hash , /* tp_hash */
18941899 0 , /* tp_call */
18951900 0 , /* tp_str */
18961901 PyObject_GenericGetAttr , /* tp_getattro */
@@ -1916,7 +1921,7 @@ PyTypeObject PyFloat_Type = {
19161921 0 , /* tp_init */
19171922 0 , /* tp_alloc */
19181923 float_new , /* tp_new */
1919- .tp_vectorcall = ( vectorcallfunc ) float_vectorcall ,
1924+ .tp_vectorcall = float_vectorcall ,
19201925 .tp_version_tag = _Py_TYPE_VERSION_FLOAT ,
19211926};
19221927
0 commit comments