extern int convbool(PyObject *, void *);
extern PyObject *abstract_pynew(PyTypeObject *, PyObject *, PyObject *);
extern PyObject *getbool(int);
-#define DECL_GETU_(n) extern PyObject *getu##n(uint##n);
-DOUINTSZ(DECL_GETU_)
+extern PyObject *getulong(unsigned long);
extern void *newtype(PyTypeObject *, const PyTypeObject *, const char *);
extern PyObject * mkexc(PyObject *, PyObject *, const char *, PyMethodDef *);
#define GMAP_KWMETHDECL(func, doc) \
extern PyObject *gmapmeth_##func(PyObject *, PyObject *, PyObject *);
-#define GMAP_DOMETHODS(METH, KWMETH) \
+#define GMAP_DOROMETHODS(METH, KWMETH) \
METH (has_key, "D.has_key(KEY) -> BOOL") \
METH (keys, "D.keys() -> LIST") \
METH (values, "D.values() -> LIST") \
METH (iterkeys, "D.iterkeys() -> ITER") \
METH (itervalues, "D.itervalues() -> ITER") \
METH (iteritems, "D.iteritems() -> ITER") \
- METH (clear, "D.clear()") \
KWMETH(get, "D.get(KEY, [default = None]) -> VALUE") \
+
+#define GMAP_DOMETHODS(METH, KWMETH) \
+ GMAP_DOROMETHODS(METH, KWMETH) \
+ METH (clear, "D.clear()") \
KWMETH(setdefault, "D.setdefault(K, [default = None]) -> VALUE") \
KWMETH(pop, "D.pop(KEY, [default = <error>]) -> VALUE") \
METH (popitem, "D.popitem() -> (KEY, VALUE)") \
METH (update, "D.update(MAP)")
GMAP_DOMETHODS(GMAP_METHDECL, GMAP_KWMETHDECL)
+#define GMAP_ROMETHODS GMAP_DOROMETHODS(GMAP_METH, GMAP_KWMETH)
#define GMAP_METHODS GMAP_DOMETHODS(GMAP_METH, GMAP_KWMETH)
extern int gmap_pysize(PyObject *);
extern PySequenceMethods gmap_pysequence;
#define MP_PYCHECK(o) PyObject_TypeCheck((o), mp_pytype)
#define GF_PYCHECK(o) PyObject_TypeCheck((o), gf_pytype)
-extern mp *mp_frompylong(PyLongObject *);
-extern PyLongObject *mp_topylong(mp *);
+extern mp *mp_frompylong(PyObject *);
+extern PyObject *mp_topylong(mp *);
extern mp *tomp(PyObject *);
extern mp *getmp(PyObject *);
extern int convmp(PyObject *, void *);