@@ -369,8 +369,9 @@ _Py_convert_int_to_double(PyObject **v, double *dbl)
369
369
}
370
370
371
371
static PyObject *
372
- float_repr (PyFloatObject * v )
372
+ float_repr (PyObject * op )
373
373
{
374
+ PyFloatObject * v = _PyFloat_CAST (op );
374
375
PyObject * result ;
375
376
char * buf ;
376
377
@@ -579,9 +580,10 @@ float_richcompare(PyObject *v, PyObject *w, int op)
579
580
}
580
581
581
582
static Py_hash_t
582
- float_hash (PyFloatObject * v )
583
+ float_hash (PyObject * op )
583
584
{
584
- return _Py_HashDouble ((PyObject * )v , v -> ob_fval );
585
+ PyFloatObject * v = _PyFloat_CAST (op );
586
+ return _Py_HashDouble (op , v -> ob_fval );
585
587
}
586
588
587
589
static PyObject *
@@ -851,20 +853,23 @@ float_pow(PyObject *v, PyObject *w, PyObject *z)
851
853
#undef DOUBLE_IS_ODD_INTEGER
852
854
853
855
static PyObject *
854
- float_neg (PyFloatObject * v )
856
+ float_neg (PyObject * op )
855
857
{
858
+ PyFloatObject * v = _PyFloat_CAST (op );
856
859
return PyFloat_FromDouble (- v -> ob_fval );
857
860
}
858
861
859
862
static PyObject *
860
- float_abs (PyFloatObject * v )
863
+ float_abs (PyObject * op )
861
864
{
865
+ PyFloatObject * v = _PyFloat_CAST (op );
862
866
return PyFloat_FromDouble (fabs (v -> ob_fval ));
863
867
}
864
868
865
869
static int
866
- float_bool (PyFloatObject * v )
870
+ float_bool (PyObject * op )
867
871
{
872
+ PyFloatObject * v = _PyFloat_CAST (op );
868
873
return v -> ob_fval != 0.0 ;
869
874
}
870
875
@@ -1206,7 +1211,7 @@ float_hex_impl(PyObject *self)
1206
1211
CONVERT_TO_DOUBLE (self , x );
1207
1212
1208
1213
if (isnan (x ) || isinf (x ))
1209
- return float_repr (( PyFloatObject * ) self );
1214
+ return float_repr (self );
1210
1215
1211
1216
if (x == 0.0 ) {
1212
1217
if (copysign (1.0 , x ) == -1.0 )
@@ -1651,7 +1656,7 @@ float_subtype_new(PyTypeObject *type, PyObject *x)
1651
1656
}
1652
1657
1653
1658
static PyObject *
1654
- float_vectorcall (PyObject * type , PyObject * const * args ,
1659
+ float_vectorcall (PyObject * type , PyObject * const * args ,
1655
1660
size_t nargsf , PyObject * kwnames )
1656
1661
{
1657
1662
if (!_PyArg_NoKwnames ("float" , kwnames )) {
@@ -1771,13 +1776,13 @@ float___getformat___impl(PyTypeObject *type, const char *typestr)
1771
1776
1772
1777
1773
1778
static PyObject *
1774
- float_getreal (PyObject * v , void * closure )
1779
+ float_getreal (PyObject * v , void * Py_UNUSED ( closure ) )
1775
1780
{
1776
1781
return float_float (v );
1777
1782
}
1778
1783
1779
1784
static PyObject *
1780
- float_getimag (PyObject * v , void * closure )
1785
+ float_getimag (PyObject * Py_UNUSED ( v ) , void * Py_UNUSED ( closure ) )
1781
1786
{
1782
1787
return PyFloat_FromDouble (0.0 );
1783
1788
}
@@ -1829,11 +1834,11 @@ static PyMethodDef float_methods[] = {
1829
1834
1830
1835
static PyGetSetDef float_getset [] = {
1831
1836
{"real" ,
1832
- float_getreal , ( setter ) NULL ,
1837
+ float_getreal , NULL ,
1833
1838
"the real part of a complex number" ,
1834
1839
NULL },
1835
1840
{"imag" ,
1836
- float_getimag , ( setter ) NULL ,
1841
+ float_getimag , NULL ,
1837
1842
"the imaginary part of a complex number" ,
1838
1843
NULL },
1839
1844
{NULL } /* Sentinel */
@@ -1847,10 +1852,10 @@ static PyNumberMethods float_as_number = {
1847
1852
float_rem , /* nb_remainder */
1848
1853
float_divmod , /* nb_divmod */
1849
1854
float_pow , /* nb_power */
1850
- ( unaryfunc ) float_neg , /* nb_negative */
1855
+ float_neg , /* nb_negative */
1851
1856
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 */
1854
1859
0 , /* nb_invert */
1855
1860
0 , /* nb_lshift */
1856
1861
0 , /* nb_rshift */
@@ -1881,16 +1886,16 @@ PyTypeObject PyFloat_Type = {
1881
1886
"float" ,
1882
1887
sizeof (PyFloatObject ),
1883
1888
0 ,
1884
- ( destructor ) float_dealloc , /* tp_dealloc */
1889
+ float_dealloc , /* tp_dealloc */
1885
1890
0 , /* tp_vectorcall_offset */
1886
1891
0 , /* tp_getattr */
1887
1892
0 , /* tp_setattr */
1888
1893
0 , /* tp_as_async */
1889
- ( reprfunc ) float_repr , /* tp_repr */
1894
+ float_repr , /* tp_repr */
1890
1895
& float_as_number , /* tp_as_number */
1891
1896
0 , /* tp_as_sequence */
1892
1897
0 , /* tp_as_mapping */
1893
- ( hashfunc ) float_hash , /* tp_hash */
1898
+ float_hash , /* tp_hash */
1894
1899
0 , /* tp_call */
1895
1900
0 , /* tp_str */
1896
1901
PyObject_GenericGetAttr , /* tp_getattro */
@@ -1916,7 +1921,7 @@ PyTypeObject PyFloat_Type = {
1916
1921
0 , /* tp_init */
1917
1922
0 , /* tp_alloc */
1918
1923
float_new , /* tp_new */
1919
- .tp_vectorcall = ( vectorcallfunc ) float_vectorcall ,
1924
+ .tp_vectorcall = float_vectorcall ,
1920
1925
.tp_version_tag = _Py_TYPE_VERSION_FLOAT ,
1921
1926
};
1922
1927
0 commit comments