@@ -85,6 +85,7 @@ def _sizeof_void_p():
8585
8686Py_TPFLAGS_MANAGED_DICT = (1 << 4 )
8787Py_TPFLAGS_HEAPTYPE = (1 << 9 )
88+ Py_TPFLAGS_FLOAT_SUBCLASS = (1 << 23 )
8889Py_TPFLAGS_LONG_SUBCLASS = (1 << 24 )
8990Py_TPFLAGS_LIST_SUBCLASS = (1 << 25 )
9091Py_TPFLAGS_TUPLE_SUBCLASS = (1 << 26 )
@@ -379,6 +380,8 @@ def subclass_from_type(cls, t):
379380 if tp_flags & Py_TPFLAGS_HEAPTYPE :
380381 return HeapTypeObjectPtr
381382
383+ if tp_flags & Py_TPFLAGS_FLOAT_SUBCLASS :
384+ return PyFloatObjectPtr
382385 if tp_flags & Py_TPFLAGS_LONG_SUBCLASS :
383386 return PyLongObjectPtr
384387 if tp_flags & Py_TPFLAGS_LIST_SUBCLASS :
@@ -910,6 +913,16 @@ class PyNoneStructPtr(PyObjectPtr):
910913 def proxyval (self , visited ):
911914 return None
912915
916+ class PyFloatObjectPtr (PyObjectPtr ):
917+ _typename = 'PyFloatObject'
918+
919+ def proxyval (self , visited ):
920+ return self .field ('ob_fval' )
921+
922+ def write_repr (self , out , visited ):
923+ proxy = self .proxyval (visited )
924+ out .write ("%s" % proxy )
925+
913926class PyFrameObjectPtr (PyObjectPtr ):
914927 _typename = 'PyFrameObject'
915928
0 commit comments