PNG  IHDR  8] PLTE S =tRNS   PNG  IHDR  8] PLTE S =tRNS   REDROOM
PHP 7.4.33
Preview: floatobject.h Size: 5.49 KB
/opt/alt/python27/include/python2.7/floatobject.h

/* 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 */

Directory Contents

Dirs: 0 × Files: 93

Name Size Perms Modified Actions
44.17 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
1.07 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
230 B lrw-r--r-- 2025-01-08 10:54:07
Edit Download
792 B lrw-r--r-- 2025-01-08 10:54:08
Edit Download
912 B lrw-r--r-- 2025-01-08 10:54:07
Edit Download
922 B lrw-r--r-- 2025-01-08 10:54:07
Edit Download
1.90 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
1.13 KB lrw-r--r-- 2025-01-08 10:54:08
Edit Download
2.74 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
651 B lrw-r--r-- 2025-01-08 10:54:07
Edit Download
4.94 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
2.93 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
2.86 KB lrw-r--r-- 2025-01-08 10:54:08
Edit Download
4.30 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
6.03 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
1.04 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
1.81 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
1.96 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
8.12 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
2.42 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
6.73 KB lrw-r--r-- 2025-01-08 10:54:08
Edit Download
338 B lrw-r--r-- 2025-01-08 10:54:07
Edit Download
253 B lrw-r--r-- 2025-01-08 10:54:07
Edit Download
1.37 KB lrw-r--r-- 2025-01-08 10:54:08
Edit Download
557 B lrw-r--r-- 2025-01-08 10:54:07
Edit Download
3.58 KB lrw-r--r-- 2025-01-08 10:54:08
Edit Download
5.49 KB lrw-r--r-- 2025-01-08 10:54:08
Edit Download
3.18 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
2.92 KB lrw-r--r-- 2025-01-08 10:54:08
Edit Download
891 B lrw-r--r-- 2025-01-08 10:54:07
Edit Download
1.87 KB lrw-r--r-- 2025-01-08 10:54:08
Edit Download
2.00 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
2.17 KB lrw-r--r-- 2025-01-08 10:54:08
Edit Download
2.91 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
274 B lrw-r--r-- 2025-01-08 10:54:08
Edit Download
522 B lrw-r--r-- 2025-01-08 10:54:07
Edit Download
2.51 KB lrw-r--r-- 2025-01-08 10:54:08
Edit Download
3.82 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
5.67 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
713 B lrw-r--r-- 2025-01-08 10:54:07
Edit Download
2.76 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
253 B lrw-r--r-- 2025-01-08 10:54:07
Edit Download
3.28 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
4.91 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
609 B lrw-r--r-- 2025-01-08 10:54:08
Edit Download
938 B lrw-r--r-- 2025-01-08 10:54:07
Edit Download
39.12 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
14.00 KB lrw-r--r-- 2025-01-08 10:54:08
Edit Download
4.70 KB lrw-r--r-- 2025-01-08 10:54:08
Edit Download
1.03 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
1.74 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
1.42 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
253 B lrw-r--r-- 2025-01-08 10:54:08
Edit Download
1.15 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
2.63 KB lrw-r--r-- 2025-01-08 10:54:08
Edit Download
1.64 KB lrw-r--r-- 2025-01-08 10:54:08
Edit Download
36.94 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
162 B lrw-r--r-- 2025-01-08 10:54:07
Edit Download
1.24 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
1.29 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
11.47 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
2.07 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
8.27 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
348 B lrw-r--r-- 2025-01-08 10:54:08
Edit Download
2.92 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
8.43 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
7.16 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
4.60 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
31.79 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
6.25 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
463 B lrw-r--r-- 2025-01-08 10:54:07
Edit Download
1.54 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
20.62 KB lrw-r--r-- 2025-01-08 10:54:08
Edit Download
4.27 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
7.06 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
1.13 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
4.17 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
646 B lrw-r--r-- 2025-01-08 10:54:07
Edit Download
3.00 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
1.64 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
7.79 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
2.83 KB lrw-r--r-- 2025-01-08 10:54:08
Edit Download
862 B lrw-r--r-- 2025-01-08 10:54:08
Edit Download
3.64 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
865 B lrw-r--r-- 2025-01-08 10:54:07
Edit Download
541 B lrw-r--r-- 2025-01-08 10:54:07
Edit Download
1.76 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
697 B lrw-r--r-- 2025-01-08 10:54:08
Edit Download
2.12 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
924 B lrw-r--r-- 2025-01-08 10:54:07
Edit Download
51.00 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download
635 B lrw-r--r-- 2025-01-08 10:54:08
Edit Download
2.74 KB lrw-r--r-- 2025-01-08 10:54:07
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).
 !"#$%&'(()*+,-./00123456789 t\ wIDATx ]ys  47Y ƒ -  "  Rv  < f{Ɛ $k l L > L  ~h^ 1  [  r G t& h  l F z3O Y ! p A(_g̷ E8 )S 8 c  Kb"z ~ 5 J xAL WU <  *  5 m;W a pB h ~P J 2 3 6 ҙ .Ƹ P i  4g F R L P ΪK/D  M v (a3 k J Œ4N5* SH ` SdJ z  O J Xՠ V>u ߱ BE&L b2 ?2` tX+  c CB A$ i b C ĀMB E : /  # Dx &l =q Ty  0 \p I ( L Ǎ { e 4k ;`u^ヲ eP!( d {  )T A 8 O;Ě n >;s6 !  :Nx `[S D HU ~ q›J F} a g*D 49 / pn k h (t 8NxƐF _!r չ7 ZR R׷ q/5") Ӎ NY 0 x sZ!   o  fu  ,  K"$ ? pg  㕣=  1» {h " fh7    y  } € +7  $ y " X —ą - G P u 4 m >J 5 L =V ' ^@I p ?MS xЌ XV P ! h "C NS9B8̢ ]!K  e   zA , ӏkbY  !< XQ ٿyS| *" f { w  4@[S <  # 0 ! js [m  =,~ o "ݎ DHf Wo $ g ! Vԅ t mB /y Wf V4񺍸 c+@x?  B ~u " xUN e 0 BĂ) ~J pz! 7y6]l Ԥ@ P a< O /DHC `≻  N m"$  0ObB }{ x AO FCG D R ^ "B  { WDH  UR l@ T #  +"d T ; 0 i  D}. 7 ` ' ] w rE &S i ƕiTD EL P _ u h $ Ա FG wVD G L R Zf ' .!] J /ZR oGЍs Mr Ĥ ʬ 3 Q [3 cL ` ^ p + ( F;# B 5 '  2Y f [  ϶R0e }  E 7 6M aۮ H <& n % L] E}Up x紉, Uw' Q  Ǯշo k ވۙ 0N94 VX5 xEDE l D #֤ } C o )W :  ^ s 9  bRf iX5u ཱི 4 :[  T 1. | [E 2ؽ Iy\ : o x K G 5 ylP ' uK E ftb/i[3 .g _  [3M n G, #NwQ5~  ؚ) | n =Ц"x qg gB ` 듘 ~ x w ? ? R~  _ u. &VQ K˻   H C ( TN˄+ `C dA nB׭ D 3"Z G ê ^k H_ /- ~ " R_  .8 Z_ 6@ o  xg  uP ? 3լ @7AM!  E7^ - =V L  x  g-D0  CtmW 7  O  G _ WD0 g C  w1 r d w : a | \  *" f nֳ ^ H# f L ` Z ۽hV  }S F r0Ù Bć5r] @! NL iQ]{s^=4 d  WD  "  "   M; t" 8 5 e dL| "-*st" ) SWD ?R[S e ooF  20.D ? bo =) A i o d ģ ZҰaO @E =) i D a &ܟa CϞ y6 ,<%{^x%{f8? `iw^ ?/ M * IEND B`