| Guido van Rossum | a330996 | 1993-07-28 09:05:47 +0000 | [diff] [blame] | 1 | #ifndef Py_LONGOBJECT_H | 
 | 2 | #define Py_LONGOBJECT_H | 
 | 3 | #ifdef __cplusplus | 
 | 4 | extern "C" { | 
 | 5 | #endif | 
 | 6 |  | 
| Guido van Rossum | edcc38a | 1991-05-05 20:09:44 +0000 | [diff] [blame] | 7 | /*********************************************************** | 
| Guido van Rossum | 5799b52 | 1995-01-04 19:06:22 +0000 | [diff] [blame] | 8 | Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam, | 
 | 9 | The Netherlands. | 
| Guido van Rossum | edcc38a | 1991-05-05 20:09:44 +0000 | [diff] [blame] | 10 |  | 
 | 11 |                         All Rights Reserved | 
 | 12 |  | 
| Guido van Rossum | d266eb4 | 1996-10-25 14:44:06 +0000 | [diff] [blame] | 13 | Permission to use, copy, modify, and distribute this software and its | 
 | 14 | documentation for any purpose and without fee is hereby granted, | 
| Guido van Rossum | edcc38a | 1991-05-05 20:09:44 +0000 | [diff] [blame] | 15 | provided that the above copyright notice appear in all copies and that | 
| Guido van Rossum | d266eb4 | 1996-10-25 14:44:06 +0000 | [diff] [blame] | 16 | both that copyright notice and this permission notice appear in | 
| Guido van Rossum | edcc38a | 1991-05-05 20:09:44 +0000 | [diff] [blame] | 17 | supporting documentation, and that the names of Stichting Mathematisch | 
| Guido van Rossum | d266eb4 | 1996-10-25 14:44:06 +0000 | [diff] [blame] | 18 | Centrum or CWI or Corporation for National Research Initiatives or | 
 | 19 | CNRI not be used in advertising or publicity pertaining to | 
 | 20 | distribution of the software without specific, written prior | 
 | 21 | permission. | 
| Guido van Rossum | edcc38a | 1991-05-05 20:09:44 +0000 | [diff] [blame] | 22 |  | 
| Guido van Rossum | d266eb4 | 1996-10-25 14:44:06 +0000 | [diff] [blame] | 23 | While CWI is the initial source for this software, a modified version | 
 | 24 | is made available by the Corporation for National Research Initiatives | 
 | 25 | (CNRI) at the Internet address ftp://ftp.python.org. | 
 | 26 |  | 
 | 27 | STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH | 
 | 28 | REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF | 
 | 29 | MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH | 
 | 30 | CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL | 
 | 31 | DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR | 
 | 32 | PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER | 
 | 33 | TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR | 
 | 34 | PERFORMANCE OF THIS SOFTWARE. | 
| Guido van Rossum | edcc38a | 1991-05-05 20:09:44 +0000 | [diff] [blame] | 35 |  | 
 | 36 | ******************************************************************/ | 
 | 37 |  | 
 | 38 | /* Long (arbitrary precision) integer object interface */ | 
 | 39 |  | 
| Guido van Rossum | caa6380 | 1995-01-12 11:45:45 +0000 | [diff] [blame] | 40 | typedef struct _longobject PyLongObject; /* Revealed in longintrepr.h */ | 
| Guido van Rossum | 44c8f69 | 1992-01-19 16:31:28 +0000 | [diff] [blame] | 41 |  | 
| Guido van Rossum | 051ab12 | 1995-02-27 10:17:52 +0000 | [diff] [blame] | 42 | extern DL_IMPORT(PyTypeObject) PyLong_Type; | 
| Guido van Rossum | edcc38a | 1991-05-05 20:09:44 +0000 | [diff] [blame] | 43 |  | 
| Guido van Rossum | caa6380 | 1995-01-12 11:45:45 +0000 | [diff] [blame] | 44 | #define PyLong_Check(op) ((op)->ob_type == &PyLong_Type) | 
| Guido van Rossum | edcc38a | 1991-05-05 20:09:44 +0000 | [diff] [blame] | 45 |  | 
| Guido van Rossum | caa6380 | 1995-01-12 11:45:45 +0000 | [diff] [blame] | 46 | extern PyObject *PyLong_FromLong Py_PROTO((long)); | 
| Guido van Rossum | 53756b1 | 1997-01-03 17:14:46 +0000 | [diff] [blame] | 47 | extern PyObject *PyLong_FromUnsignedLong Py_PROTO((unsigned long)); | 
| Guido van Rossum | caa6380 | 1995-01-12 11:45:45 +0000 | [diff] [blame] | 48 | extern PyObject *PyLong_FromDouble Py_PROTO((double)); | 
 | 49 | extern long PyLong_AsLong Py_PROTO((PyObject *)); | 
| Guido van Rossum | 53756b1 | 1997-01-03 17:14:46 +0000 | [diff] [blame] | 50 | extern unsigned long PyLong_AsUnsignedLong Py_PROTO((PyObject *)); | 
| Guido van Rossum | caa6380 | 1995-01-12 11:45:45 +0000 | [diff] [blame] | 51 | extern double PyLong_AsDouble Py_PROTO((PyObject *)); | 
| Guido van Rossum | 44c8f69 | 1992-01-19 16:31:28 +0000 | [diff] [blame] | 52 |  | 
| Guido van Rossum | 1a8791e | 1998-08-04 22:46:29 +0000 | [diff] [blame] | 53 | #ifdef HAVE_LONG_LONG | 
| Guido van Rossum | 3293b07 | 1998-08-25 16:07:15 +0000 | [diff] [blame] | 54 | #ifndef LONG_LONG | 
 | 55 | #define LONG_LONG long long | 
| Guido van Rossum | 1a8791e | 1998-08-04 22:46:29 +0000 | [diff] [blame] | 56 | #endif | 
| Guido van Rossum | 3293b07 | 1998-08-25 16:07:15 +0000 | [diff] [blame] | 57 | extern PyObject *PyLong_FromLongLong Py_PROTO((LONG_LONG)); | 
 | 58 | extern PyObject *PyLong_FromUnsignedLongLong Py_PROTO((unsigned LONG_LONG)); | 
 | 59 | extern LONG_LONG PyLong_AsLongLong Py_PROTO((PyObject *)); | 
 | 60 | extern unsigned LONG_LONG PyLong_AsUnsignedLongLong Py_PROTO((PyObject *)); | 
 | 61 | #endif /* HAVE_LONG_LONG */ | 
| Guido van Rossum | 1a8791e | 1998-08-04 22:46:29 +0000 | [diff] [blame] | 62 |  | 
| Guido van Rossum | 9381782 | 1995-01-17 16:01:01 +0000 | [diff] [blame] | 63 | PyObject *PyLong_FromString Py_PROTO((char *, char **, int)); | 
| Guido van Rossum | a330996 | 1993-07-28 09:05:47 +0000 | [diff] [blame] | 64 |  | 
 | 65 | #ifdef __cplusplus | 
 | 66 | } | 
 | 67 | #endif | 
 | 68 | #endif /* !Py_LONGOBJECT_H */ |