/* Code to access $name$ objects as numbers */ static PyObject * $abbrev$_add(v, w) $abbrev$object *v; $abbrev$object *w; { /* XXXX Add them */ } static PyObject * $abbrev$_sub(v, w) $abbrev$object *v; $abbrev$object *w; { /* XXXX Subtract them */ } static PyObject * $abbrev$_mul(v, w) $abbrev$object *v; $abbrev$object *w; { /* XXXX Multiply them */ } static PyObject * $abbrev$_div(x, y) $abbrev$object *x; $abbrev$object *y; { /* XXXX Divide them */ } static PyObject * $abbrev$_mod(x, y) $abbrev$object *x; $abbrev$object *y; { /* XXXX Modulo them */ } static PyObject * $abbrev$_divmod(x, y) $abbrev$object *x; $abbrev$object *y; { /* XXXX Return 2-tuple with div and mod */ } static PyObject * $abbrev$_pow(v, w, z) $abbrev$object *v; $abbrev$object *w; $abbrev$object *z; { /* XXXX */ } static PyObject * $abbrev$_neg(v) $abbrev$object *v; { /* XXXX */ } static PyObject * $abbrev$_pos(v) $abbrev$object *v; { /* XXXX */ } static PyObject * $abbrev$_abs(v) $abbrev$object *v; { /* XXXX */ } static int $abbrev$_nonzero(v) $abbrev$object *v; { /* XXXX Return 1 if non-zero */ } static PyObject * $abbrev$_invert(v) $abbrev$object *v; { /* XXXX */ } static PyObject * $abbrev$_lshift(v, w) $abbrev$object *v; $abbrev$object *w; { /* XXXX */ } static PyObject * $abbrev$_rshift(v, w) $abbrev$object *v; $abbrev$object *w; { /* XXXX */ } static PyObject * $abbrev$_and(v, w) $abbrev$object *v; $abbrev$object *w; { /* XXXX */ } static PyObject * $abbrev$_xor(v, w) $abbrev$object *v; $abbrev$object *w; { /* XXXX */ } static PyObject * $abbrev$_or(v, w) $abbrev$object *v; $abbrev$object *w; { /* XXXX */ } static int $abbrev$_coerce(pv, pw) PyObject **pv; PyObject **pw; { /* XXXX I haven't a clue... */ return 1; } static PyObject * $abbrev$_int(v) $abbrev$object *v; { /* XXXX */ } static PyObject * $abbrev$_long(v) $abbrev$object *v; { /* XXXX */ } static PyObject * $abbrev$_float(v) $abbrev$object *v; { /* XXXX */ } static PyObject * $abbrev$_oct(v) $abbrev$object *v; { /* XXXX Return object as octal stringobject */ } static PyObject * $abbrev$_hex(v) $abbrev$object *v; { /* XXXX Return object as hex stringobject */ } static PyNumberMethods $abbrev$_as_number = { (binaryfunc)$abbrev$_add, /*nb_add*/ (binaryfunc)$abbrev$_sub, /*nb_subtract*/ (binaryfunc)$abbrev$_mul, /*nb_multiply*/ (binaryfunc)$abbrev$_div, /*nb_divide*/ (binaryfunc)$abbrev$_mod, /*nb_remainder*/ (binaryfunc)$abbrev$_divmod, /*nb_divmod*/ (ternaryfunc)$abbrev$_pow, /*nb_power*/ (unaryfunc)$abbrev$_neg, /*nb_negative*/ (unaryfunc)$abbrev$_pos, /*nb_positive*/ (unaryfunc)$abbrev$_abs, /*nb_absolute*/ (inquiry)$abbrev$_nonzero, /*nb_nonzero*/ (unaryfunc)$abbrev$_invert, /*nb_invert*/ (binaryfunc)$abbrev$_lshift, /*nb_lshift*/ (binaryfunc)$abbrev$_rshift, /*nb_rshift*/ (binaryfunc)$abbrev$_and, /*nb_and*/ (binaryfunc)$abbrev$_xor, /*nb_xor*/ (binaryfunc)$abbrev$_or, /*nb_or*/ (coercion)$abbrev$_coerce, /*nb_coerce*/ (unaryfunc)$abbrev$_int, /*nb_int*/ (unaryfunc)$abbrev$_long, /*nb_long*/ (unaryfunc)$abbrev$_float, /*nb_float*/ (unaryfunc)$abbrev$_oct, /*nb_oct*/ (unaryfunc)$abbrev$_hex, /*nb_hex*/ }; /* ------------------------------------------------------- */