17db96d56Sopenharmony_ci#ifndef Py_CPYTHON_FLOATOBJECT_H
27db96d56Sopenharmony_ci#  error "this header file must not be included directly"
37db96d56Sopenharmony_ci#endif
47db96d56Sopenharmony_ci
57db96d56Sopenharmony_citypedef struct {
67db96d56Sopenharmony_ci    PyObject_HEAD
77db96d56Sopenharmony_ci    double ob_fval;
87db96d56Sopenharmony_ci} PyFloatObject;
97db96d56Sopenharmony_ci
107db96d56Sopenharmony_ci// Macro version of PyFloat_AsDouble() trading safety for speed.
117db96d56Sopenharmony_ci// It doesn't check if op is a double object.
127db96d56Sopenharmony_ci#define PyFloat_AS_DOUBLE(op) (((PyFloatObject *)(op))->ob_fval)
137db96d56Sopenharmony_ci
147db96d56Sopenharmony_ci
157db96d56Sopenharmony_ciPyAPI_FUNC(int) PyFloat_Pack2(double x, char *p, int le);
167db96d56Sopenharmony_ciPyAPI_FUNC(int) PyFloat_Pack4(double x, char *p, int le);
177db96d56Sopenharmony_ciPyAPI_FUNC(int) PyFloat_Pack8(double x, char *p, int le);
187db96d56Sopenharmony_ci
197db96d56Sopenharmony_ciPyAPI_FUNC(double) PyFloat_Unpack2(const char *p, int le);
207db96d56Sopenharmony_ciPyAPI_FUNC(double) PyFloat_Unpack4(const char *p, int le);
217db96d56Sopenharmony_ciPyAPI_FUNC(double) PyFloat_Unpack8(const char *p, int le);
22