#define BITOP(pre, name, c) \
static PyObject *pre##meth_##name(PyObject *me, PyObject *arg) \
{ \
- int i; \
- if (!PyArg_ParseTuple(arg, "i:" #name, &i)) return (0); \
+ unsigned long i; \
+ if (!PyArg_ParseTuple(arg, "O&:" #name, convulong, &i)) return (0); \
return (pre##_pywrap(mp_##name##c(MP_NEW, MP_X(me), i))); \
}
BITOP(mp, setbit, 2c);
static PyObject *mpmeth_testbit(PyObject *me, PyObject *arg)
{
- int i;
- if (!PyArg_ParseTuple(arg, "i:testbit", &i)) return (0);
+ unsigned long i;
+ if (!PyArg_ParseTuple(arg, "O&:testbit", convulong, &i)) return (0);
return (getbool(mp_testbit2c(MP_X(me), i)));
}
static PyObject *gfmeth_testbit(PyObject *me, PyObject *arg)
{
- int i;
- if (!PyArg_ParseTuple(arg, "i:testbit", &i)) return (0);
+ unsigned long i;
+ if (!PyArg_ParseTuple(arg, "O&:testbit", convulong, &i)) return (0);
return (getbool(mp_testbit(MP_X(me), i)));
}