Staging
v0.5.1
v0.5.1
https://github.com/python/cpython
Revision 9993a364f7ede91b1a84d4592893d48652cf5d90 authored by Jack Jansen on 25 March 2002, 11:14:28 UTC, committed by Jack Jansen on 25 March 2002, 11:14:28 UTC
Weaklink most toolbox modules, improving backward compatibility. Modules will no longer fail to load if a single routine is missing on the curent OS version, in stead calling the missing routine will raise an exception. Should finally fix 531398. 2.2.1 candidate. Also blacklisted some constants with definitions that were not Python-compatible.
1 parent 6f2fd30
Tip revision: 9993a364f7ede91b1a84d4592893d48652cf5d90 authored by Jack Jansen on 25 March 2002, 11:14:28 UTC
Backport of _Evtmodule.c 1.6, evtsupport.py 1.15:
Backport of _Evtmodule.c 1.6, evtsupport.py 1.15:
Tip revision: 9993a36
longintrepr.h
#ifndef Py_LONGINTREPR_H
#define Py_LONGINTREPR_H
#ifdef __cplusplus
extern "C" {
#endif
/* This is published for the benefit of "friend" marshal.c only. */
/* Parameters of the long integer representation.
These shouldn't have to be changed as C should guarantee that a short
contains at least 16 bits, but it's made changeable anyway.
Note: 'digit' should be able to hold 2*MASK+1, and 'twodigits'
should be able to hold the intermediate results in 'mul'
(at most MASK << SHIFT).
Also, x_sub assumes that 'digit' is an unsigned type, and overflow
is handled by taking the result mod 2**N for some N > SHIFT.
And, at some places it is assumed that MASK fits in an int, as well. */
typedef unsigned short digit;
typedef unsigned int wdigit; /* digit widened to parameter size */
#define BASE_TWODIGITS_TYPE long
typedef unsigned BASE_TWODIGITS_TYPE twodigits;
typedef BASE_TWODIGITS_TYPE stwodigits; /* signed variant of twodigits */
#define SHIFT 15
#define BASE ((digit)1 << SHIFT)
#define MASK ((int)(BASE - 1))
/* Long integer representation.
The absolute value of a number is equal to
SUM(for i=0 through abs(ob_size)-1) ob_digit[i] * 2**(SHIFT*i)
Negative numbers are represented with ob_size < 0;
zero is represented by ob_size == 0.
In a normalized number, ob_digit[abs(ob_size)-1] (the most significant
digit) is never zero. Also, in all cases, for all valid i,
0 <= ob_digit[i] <= MASK.
The allocation function takes care of allocating extra memory
so that ob_digit[0] ... ob_digit[abs(ob_size)-1] are actually available. */
struct _longobject {
PyObject_HEAD
int ob_size;
digit ob_digit[1];
};
DL_IMPORT(PyLongObject *) _PyLong_New(int);
/* Return a copy of src. */
DL_IMPORT(PyObject *) _PyLong_Copy(PyLongObject *src);
#ifdef __cplusplus
}
#endif
#endif /* !Py_LONGINTREPR_H */
Computing file changes ...