__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/* Float object interface */
/*
PyFloatObject represents a (double precision) floating point number.
*/
#ifndef Py_FLOATOBJECT_H
#define Py_FLOATOBJECT_H
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
PyObject_HEAD
double ob_fval;
} PyFloatObject;
PyAPI_DATA(PyTypeObject) PyFloat_Type;
#define PyFloat_Check(op) PyObject_TypeCheck(op, &PyFloat_Type)
#define PyFloat_CheckExact(op) (Py_TYPE(op) == &PyFloat_Type)
/* The str() precision PyFloat_STR_PRECISION is chosen so that in most cases,
the rounding noise created by various operations is suppressed, while
giving plenty of precision for practical use. */
#define PyFloat_STR_PRECISION 12
#ifdef Py_NAN
#define Py_RETURN_NAN return PyFloat_FromDouble(Py_NAN)
#endif
#define Py_RETURN_INF(sign) do \
if (copysign(1., sign) == 1.) { \
return PyFloat_FromDouble(Py_HUGE_VAL); \
} else { \
return PyFloat_FromDouble(-Py_HUGE_VAL); \
} while(0)
PyAPI_FUNC(double) PyFloat_GetMax(void);
PyAPI_FUNC(double) PyFloat_GetMin(void);
PyAPI_FUNC(PyObject *) PyFloat_GetInfo(void);
/* Return Python float from string PyObject. Second argument ignored on
input, and, if non-NULL, NULL is stored into *junk (this tried to serve a
purpose once but can't be made to work as intended). */
PyAPI_FUNC(PyObject *) PyFloat_FromString(PyObject*, char** junk);
/* Return Python float from C double. */
PyAPI_FUNC(PyObject *) PyFloat_FromDouble(double);
/* Extract C double from Python float. The macro version trades safety for
speed. */
PyAPI_FUNC(double) PyFloat_AsDouble(PyObject *);
#define PyFloat_AS_DOUBLE(op) (((PyFloatObject *)(op))->ob_fval)
/* Write repr(v) into the char buffer argument, followed by null byte. The
buffer must be "big enough"; >= 100 is very safe.
PyFloat_AsReprString(buf, x) strives to print enough digits so that
PyFloat_FromString(buf) then reproduces x exactly. */
PyAPI_FUNC(void) PyFloat_AsReprString(char*, PyFloatObject *v);
/* Write str(v) into the char buffer argument, followed by null byte. The
buffer must be "big enough"; >= 100 is very safe. Note that it's
unusual to be able to get back the float you started with from
PyFloat_AsString's result -- use PyFloat_AsReprString() if you want to
preserve precision across conversions. */
PyAPI_FUNC(void) PyFloat_AsString(char*, PyFloatObject *v);
/* _PyFloat_{Pack,Unpack}{4,8}
*
* The struct and pickle (at least) modules need an efficient platform-
* independent way to store floating-point values as byte strings.
* The Pack routines produce a string from a C double, and the Unpack
* routines produce a C double from such a string. The suffix (4 or 8)
* specifies the number of bytes in the string.
*
* On platforms that appear to use (see _PyFloat_Init()) IEEE-754 formats
* these functions work by copying bits. On other platforms, the formats the
* 4- byte format is identical to the IEEE-754 single precision format, and
* the 8-byte format to the IEEE-754 double precision format, although the
* packing of INFs and NaNs (if such things exist on the platform) isn't
* handled correctly, and attempting to unpack a string containing an IEEE
* INF or NaN will raise an exception.
*
* On non-IEEE platforms with more precision, or larger dynamic range, than
* 754 supports, not all values can be packed; on non-IEEE platforms with less
* precision, or smaller dynamic range, not all values can be unpacked. What
* happens in such cases is partly accidental (alas).
*/
/* The pack routines write 4 or 8 bytes, starting at p. le is a bool
* argument, true if you want the string in little-endian format (exponent
* last, at p+3 or p+7), false if you want big-endian format (exponent
* first, at p).
* Return value: 0 if all is OK, -1 if error (and an exception is
* set, most likely OverflowError).
* There are two problems on non-IEEE platforms:
* 1): What this does is undefined if x is a NaN or infinity.
* 2): -0.0 and +0.0 produce the same string.
*/
PyAPI_FUNC(int) _PyFloat_Pack4(double x, unsigned char *p, int le);
PyAPI_FUNC(int) _PyFloat_Pack8(double x, unsigned char *p, int le);
/* Used to get the important decimal digits of a double */
PyAPI_FUNC(int) _PyFloat_Digits(char *buf, double v, int *signum);
PyAPI_FUNC(void) _PyFloat_DigitsInit(void);
/* The unpack routines read 4 or 8 bytes, starting at p. le is a bool
* argument, true if the string is in little-endian format (exponent
* last, at p+3 or p+7), false if big-endian (exponent first, at p).
* Return value: The unpacked double. On error, this is -1.0 and
* PyErr_Occurred() is true (and an exception is set, most likely
* OverflowError). Note that on a non-IEEE platform this will refuse
* to unpack a string that represents a NaN or infinity.
*/
PyAPI_FUNC(double) _PyFloat_Unpack4(const unsigned char *p, int le);
PyAPI_FUNC(double) _PyFloat_Unpack8(const unsigned char *p, int le);
/* free list api */
PyAPI_FUNC(int) PyFloat_ClearFreeList(void);
/* Format the object based on the format_spec, as defined in PEP 3101
(Advanced String Formatting). */
PyAPI_FUNC(PyObject *) _PyFloat_FormatAdvanced(PyObject *obj,
char *format_spec,
Py_ssize_t format_spec_len);
/* Round a C double x to the closest multiple of 10**-ndigits. Returns a
Python float on success, or NULL (with an appropriate exception set) on
failure. Used in builtin_round in bltinmodule.c. */
PyAPI_FUNC(PyObject *) _Py_double_round(double x, int ndigits);
PyAPI_FUNC(void) _PyFloat_DebugMallocStats(FILE* out);
#ifdef __cplusplus
}
#endif
#endif /* !Py_FLOATOBJECT_H */
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Python-ast.h | File | 20.62 KB | 0644 |
|
| Python.h | File | 4.23 KB | 0644 |
|
| abstract.h | File | 43.96 KB | 0644 |
|
| asdl.h | File | 1.07 KB | 0644 |
|
| ast.h | File | 230 B | 0644 |
|
| bitset.h | File | 792 B | 0644 |
|
| boolobject.h | File | 912 B | 0644 |
|
| bufferobject.h | File | 922 B | 0644 |
|
| bytearrayobject.h | File | 1.9 KB | 0644 |
|
| bytes_methods.h | File | 2.74 KB | 0644 |
|
| bytesobject.h | File | 1.13 KB | 0644 |
|
| cStringIO.h | File | 1.96 KB | 0644 |
|
| cellobject.h | File | 651 B | 0644 |
|
| ceval.h | File | 4.87 KB | 0644 |
|
| classobject.h | File | 2.93 KB | 0644 |
|
| cobject.h | File | 2.86 KB | 0644 |
|
| code.h | File | 3.8 KB | 0644 |
|
| codecs.h | File | 4.9 KB | 0644 |
|
| compile.h | File | 1.04 KB | 0644 |
|
| complexobject.h | File | 1.81 KB | 0644 |
|
| datetime.h | File | 8.12 KB | 0644 |
|
| descrobject.h | File | 2.42 KB | 0644 |
|
| dictobject.h | File | 6.52 KB | 0644 |
|
| dtoa.h | File | 338 B | 0644 |
|
| enumobject.h | File | 253 B | 0644 |
|
| errcode.h | File | 1.37 KB | 0644 |
|
| eval.h | File | 557 B | 0644 |
|
| fileobject.h | File | 3.58 KB | 0644 |
|
| floatobject.h | File | 5.49 KB | 0644 |
|
| frameobject.h | File | 3.16 KB | 0644 |
|
| funcobject.h | File | 2.92 KB | 0644 |
|
| genobject.h | File | 891 B | 0644 |
|
| graminit.h | File | 1.87 KB | 0644 |
|
| grammar.h | File | 1.97 KB | 0644 |
|
| import.h | File | 2.17 KB | 0644 |
|
| intobject.h | File | 2.77 KB | 0644 |
|
| intrcheck.h | File | 274 B | 0644 |
|
| iterobject.h | File | 522 B | 0644 |
|
| listobject.h | File | 2.51 KB | 0644 |
|
| longintrepr.h | File | 3.82 KB | 0644 |
|
| longobject.h | File | 5.67 KB | 0644 |
|
| marshal.h | File | 713 B | 0644 |
|
| memoryobject.h | File | 2.76 KB | 0644 |
|
| metagrammar.h | File | 253 B | 0644 |
|
| methodobject.h | File | 3.28 KB | 0644 |
|
| modsupport.h | File | 4.91 KB | 0644 |
|
| moduleobject.h | File | 609 B | 0644 |
|
| node.h | File | 956 B | 0644 |
|
| object.h | File | 38.09 KB | 0644 |
|
| objimpl.h | File | 13.64 KB | 0644 |
|
| opcode.h | File | 4.7 KB | 0644 |
|
| osdefs.h | File | 1.03 KB | 0644 |
|
| parsetok.h | File | 1.74 KB | 0644 |
|
| patchlevel.h | File | 1.41 KB | 0644 |
|
| pgen.h | File | 253 B | 0644 |
|
| pgenheaders.h | File | 1.12 KB | 0644 |
|
| py_curses.h | File | 4.06 KB | 0644 |
|
| pyarena.h | File | 2.63 KB | 0644 |
|
| pycapsule.h | File | 1.64 KB | 0644 |
|
| pyconfig-64.h | File | 35.95 KB | 0644 |
|
| pyconfig.h | File | 162 B | 0644 |
|
| pyctype.h | File | 1.24 KB | 0644 |
|
| pydebug.h | File | 1.29 KB | 0644 |
|
| pyerrors.h | File | 11.38 KB | 0644 |
|
| pyexpat.h | File | 2.07 KB | 0644 |
|
| pyfpe.h | File | 8.29 KB | 0644 |
|
| pygetopt.h | File | 348 B | 0644 |
|
| pymacconfig.h | File | 2.92 KB | 0644 |
|
| pymactoolbox.h | File | 7.76 KB | 0644 |
|
| pymath.h | File | 6.37 KB | 0644 |
|
| pymem.h | File | 4.59 KB | 0644 |
|
| pyport.h | File | 31.42 KB | 0644 |
|
| pystate.h | File | 6.25 KB | 0644 |
|
| pystrcmp.h | File | 463 B | 0644 |
|
| pystrtod.h | File | 1.54 KB | 0644 |
|
| pythonrun.h | File | 7.11 KB | 0644 |
|
| pythread.h | File | 1.22 KB | 0644 |
|
| rangeobject.h | File | 646 B | 0644 |
|
| setobject.h | File | 3.06 KB | 0644 |
|
| sliceobject.h | File | 1.3 KB | 0644 |
|
| stringobject.h | File | 7.79 KB | 0644 |
|
| structmember.h | File | 2.83 KB | 0644 |
|
| structseq.h | File | 862 B | 0644 |
|
| symtable.h | File | 3.64 KB | 0644 |
|
| sysmodule.h | File | 815 B | 0644 |
|
| timefuncs.h | File | 541 B | 0644 |
|
| token.h | File | 1.76 KB | 0644 |
|
| traceback.h | File | 697 B | 0644 |
|
| tupleobject.h | File | 2.18 KB | 0644 |
|
| ucnhash.h | File | 924 B | 0644 |
|
| unicodeobject.h | File | 51 KB | 0644 |
|
| warnings.h | File | 635 B | 0644 |
|
| weakrefobject.h | File | 2.89 KB | 0644 |
|