home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 April / PCWorld_2001-04_cd.bin / Software / TemaCD / webclean / !!!python!!! / BeOpen-Python-2.0.exe / LONGOBJECT.H < prev    next >
Encoding:
C/C++ Source or Header  |  2000-09-26  |  1.5 KB  |  51 lines

  1. #ifndef Py_LONGOBJECT_H
  2. #define Py_LONGOBJECT_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6.  
  7.  
  8. /* Long (arbitrary precision) integer object interface */
  9.  
  10. typedef struct _longobject PyLongObject; /* Revealed in longintrepr.h */
  11.  
  12. extern DL_IMPORT(PyTypeObject) PyLong_Type;
  13.  
  14. #define PyLong_Check(op) ((op)->ob_type == &PyLong_Type)
  15.  
  16. extern DL_IMPORT(PyObject *) PyLong_FromLong(long);
  17. extern DL_IMPORT(PyObject *) PyLong_FromUnsignedLong(unsigned long);
  18. extern DL_IMPORT(PyObject *) PyLong_FromDouble(double);
  19. extern DL_IMPORT(long) PyLong_AsLong(PyObject *);
  20. extern DL_IMPORT(unsigned long) PyLong_AsUnsignedLong(PyObject *);
  21. extern DL_IMPORT(double) PyLong_AsDouble(PyObject *);
  22. extern DL_IMPORT(PyObject *) PyLong_FromVoidPtr(void *);
  23. extern DL_IMPORT(void *) PyLong_AsVoidPtr(PyObject *);
  24.  
  25. #ifdef HAVE_LONG_LONG
  26.  
  27. /* Hopefully this is portable... */
  28. #ifndef ULONG_MAX
  29. #define ULONG_MAX 4294967295U
  30. #endif
  31. #ifndef LONGLONG_MAX
  32. #define LONGLONG_MAX 9223372036854775807LL
  33. #endif
  34. #ifndef ULONGLONG_MAX
  35. #define ULONGLONG_MAX 0xffffffffffffffffULL
  36. #endif
  37.  
  38. extern DL_IMPORT(PyObject *) PyLong_FromLongLong(LONG_LONG);
  39. extern DL_IMPORT(PyObject *) PyLong_FromUnsignedLongLong(unsigned LONG_LONG);
  40. extern DL_IMPORT(LONG_LONG) PyLong_AsLongLong(PyObject *);
  41. extern DL_IMPORT(unsigned LONG_LONG) PyLong_AsUnsignedLongLong(PyObject *);
  42. #endif /* HAVE_LONG_LONG */
  43.  
  44. DL_IMPORT(PyObject *) PyLong_FromString(char *, char **, int);
  45. DL_IMPORT(PyObject *) PyLong_FromUnicode(Py_UNICODE*, int, int);
  46.  
  47. #ifdef __cplusplus
  48. }
  49. #endif
  50. #endif /* !Py_LONGOBJECT_H */
  51.