Files
metabuilder/typthon/Include/cpython/floatobject.h
johndoe6345789 0e707caa56 feat: Add Typthon
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 17:10:58 +00:00

28 lines
900 B
C

#ifndef Ty_CPYTHON_FLOATOBJECT_H
# error "this header file must not be included directly"
#endif
typedef struct {
PyObject_HEAD
double ob_fval;
} PyFloatObject;
#define _TyFloat_CAST(op) \
(assert(TyFloat_Check(op)), _Py_CAST(PyFloatObject*, op))
// Static inline version of TyFloat_AsDouble() trading safety for speed.
// It doesn't check if op is a double object.
static inline double TyFloat_AS_DOUBLE(TyObject *op) {
return _TyFloat_CAST(op)->ob_fval;
}
#define TyFloat_AS_DOUBLE(op) TyFloat_AS_DOUBLE(_TyObject_CAST(op))
PyAPI_FUNC(int) TyFloat_Pack2(double x, char *p, int le);
PyAPI_FUNC(int) TyFloat_Pack4(double x, char *p, int le);
PyAPI_FUNC(int) TyFloat_Pack8(double x, char *p, int le);
PyAPI_FUNC(double) TyFloat_Unpack2(const char *p, int le);
PyAPI_FUNC(double) TyFloat_Unpack4(const char *p, int le);
PyAPI_FUNC(double) TyFloat_Unpack8(const char *p, int le);