mirror of
https://github.com/python/cpython.git
synced 2025-11-02 03:01:58 +00:00
Initial revision
This commit is contained in:
parent
c636014c43
commit
85a5fbbdfe
78 changed files with 13589 additions and 0 deletions
48
Include/intobject.h
Normal file
48
Include/intobject.h
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
/* Integer object interface */
|
||||
|
||||
/*
|
||||
123456789-123456789-123456789-123456789-123456789-123456789-123456789-12
|
||||
|
||||
intobject represents a (long) integer. This is an immutable object;
|
||||
an integer cannot change its value after creation.
|
||||
|
||||
There are functions to create new integer objects, to test an object
|
||||
for integer-ness, and to get the integer value. The latter functions
|
||||
returns -1 and sets errno to EBADF if the object is not an intobject.
|
||||
None of the functions should be applied to nil objects.
|
||||
|
||||
The type intobject is (unfortunately) exposed bere so we can declare
|
||||
TrueObject and FalseObject below; don't use this.
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
OB_HEAD
|
||||
long ob_ival;
|
||||
} intobject;
|
||||
|
||||
extern typeobject Inttype;
|
||||
|
||||
#define is_intobject(op) ((op)->ob_type == &Inttype)
|
||||
|
||||
extern object *newintobject PROTO((long));
|
||||
extern long getintvalue PROTO((object *));
|
||||
|
||||
|
||||
/*
|
||||
123456789-123456789-123456789-123456789-123456789-123456789-123456789-12
|
||||
|
||||
False and True are special intobjects used by Boolean expressions.
|
||||
All values of type Boolean must point to either of these; but in
|
||||
contexts where integers are required they are integers (valued 0 and 1).
|
||||
Hope these macros don't conflict with other people's.
|
||||
|
||||
Don't forget to apply INCREF() when returning True or False!!!
|
||||
*/
|
||||
|
||||
extern intobject FalseObject, TrueObject; /* Don't use these directly */
|
||||
|
||||
#define False ((object *) &FalseObject)
|
||||
#define True ((object *) &TrueObject)
|
||||
|
||||
/* Macro, trading safety for speed */
|
||||
#define GETINTVALUE(op) ((op)->ob_ival)
|
||||
Loading…
Add table
Add a link
Reference in a new issue