diff options
Diffstat (limited to 'Objects')
-rw-r--r-- | Objects/complexobject.c | 4 | ||||
-rw-r--r-- | Objects/floatobject.c | 4 | ||||
-rw-r--r-- | Objects/longobject.c | 10 | ||||
-rw-r--r-- | Objects/unicodeobject.c | 4 |
4 files changed, 15 insertions, 7 deletions
diff --git a/Objects/complexobject.c b/Objects/complexobject.c index a47cd54..90b970e 100644 --- a/Objects/complexobject.c +++ b/Objects/complexobject.c @@ -8,6 +8,10 @@ #include "Python.h" #include "structmember.h" +#ifdef HAVE_IEEEFP_H +#include <ieeefp.h> +#endif + #ifndef WITHOUT_COMPLEX /* Precisions used by repr() and str(), respectively. diff --git a/Objects/floatobject.c b/Objects/floatobject.c index 20f1510..745dfc3 100644 --- a/Objects/floatobject.c +++ b/Objects/floatobject.c @@ -12,6 +12,10 @@ #include <ctype.h> #include <float.h> +#ifdef HAVE_IEEEFP_H +#include <ieeefp.h> +#endif + #if !defined(__STDC__) extern double fmod(double, double); extern double pow(double, double); diff --git a/Objects/longobject.c b/Objects/longobject.c index b8725df..1d4b502 100644 --- a/Objects/longobject.c +++ b/Objects/longobject.c @@ -1620,7 +1620,7 @@ long_from_binary_base(char **str, int base) n >>= 1; /* n <- total # of bits needed, while setting p to end-of-string */ n = 0; - while (_PyLong_DigitValue[(unsigned)Py_CHARMASK(*p)] < base) + while (_PyLong_DigitValue[Py_CHARMASK(*p)] < base) ++p; *str = p; /* n <- # of Python digits needed, = ceiling(n/PyLong_SHIFT). */ @@ -1641,7 +1641,7 @@ long_from_binary_base(char **str, int base) bits_in_accum = 0; pdigit = z->ob_digit; while (--p >= start) { - int k = _PyLong_DigitValue[(unsigned)Py_CHARMASK(*p)]; + int k = _PyLong_DigitValue[Py_CHARMASK(*p)]; assert(k >= 0 && k < base); accum |= (twodigits)(k << bits_in_accum); bits_in_accum += bits_per_char; @@ -1828,7 +1828,7 @@ digit beyond the first. /* Find length of the string of numeric characters. */ scan = str; - while (_PyLong_DigitValue[(unsigned)Py_CHARMASK(*scan)] < base) + while (_PyLong_DigitValue[Py_CHARMASK(*scan)] < base) ++scan; /* Create a long object that can contain the largest possible @@ -1854,10 +1854,10 @@ digit beyond the first. /* Work ;-) */ while (str < scan) { /* grab up to convwidth digits from the input string */ - c = (digit)_PyLong_DigitValue[(unsigned)Py_CHARMASK(*str++)]; + c = (digit)_PyLong_DigitValue[Py_CHARMASK(*str++)]; for (i = 1; i < convwidth && str != scan; ++i, ++str) { c = (twodigits)(c * base + - _PyLong_DigitValue[(unsigned)Py_CHARMASK(*str)]); + _PyLong_DigitValue[Py_CHARMASK(*str)]); assert(c < PyLong_BASE); } diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index fef304a..60cbffa 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -512,13 +512,13 @@ PyObject *PyUnicode_FromStringAndSize(const char *u, Py_ssize_t size) /* Single characters are shared when using this constructor. Restrict to ASCII, since the input must be UTF-8. */ if (size == 1 && Py_CHARMASK(*u) < 128) { - unicode = unicode_latin1[(unsigned)Py_CHARMASK(*u)]; + unicode = unicode_latin1[Py_CHARMASK(*u)]; if (!unicode) { unicode = _PyUnicode_New(1); if (!unicode) return NULL; unicode->str[0] = Py_CHARMASK(*u); - unicode_latin1[(unsigned)Py_CHARMASK(*u)] = unicode; + unicode_latin1[Py_CHARMASK(*u)] = unicode; } Py_INCREF(unicode); return (PyObject *)unicode; |