Return a C double representation of the contents of pyfloat. If
pyfloat is not a Python floating point object but has a __float__()
method, this method will first be called to convert pyfloat into a float.
This method returns -1.0 upon failure, so one should call
PyErr_Occurred() to check for errors.