2 /* Code to access $name$ objects as numbers */
5 $abbrev$_add($abbrev$object *v, $abbrev$object *w)
11 $abbrev$_sub($abbrev$object *v, $abbrev$object *w)
13 /* XXXX Subtract them */
17 $abbrev$_mul($abbrev$object *v, $abbrev$object *w)
19 /* XXXX Multiply them */
23 $abbrev$_div($abbrev$object *x, $abbrev$object *y)
25 /* XXXX Divide them */
29 $abbrev$_mod($abbrev$object *x, $abbrev$object *y)
31 /* XXXX Modulo them */
35 $abbrev$_divmod($abbrev$object *x, $abbrev$object *y)
37 /* XXXX Return 2-tuple with div and mod */
41 $abbrev$_pow($abbrev$object *v, $abbrev$object *w, $abbrev$object *z)
47 $abbrev$_neg($abbrev$object *v)
53 $abbrev$_pos($abbrev$object *v)
59 $abbrev$_abs($abbrev$object *v)
65 $abbrev$_nonzero($abbrev$object *v)
67 /* XXXX Return 1 if non-zero */
71 $abbrev$_invert($abbrev$object *v)
77 $abbrev$_lshift($abbrev$object *v, $abbrev$object *w)
83 $abbrev$_rshift($abbrev$object *v, $abbrev$object *w)
89 $abbrev$_and($abbrev$object *v, $abbrev$object *w)
95 $abbrev$_xor($abbrev$object *v, $abbrev$object *w)
101 $abbrev$_or($abbrev$object *v, $abbrev$object *w)
107 $abbrev$_coerce(PyObject **pv, PyObject **pw)
109 /* XXXX I haven't a clue... */
114 $abbrev$_int($abbrev$object *v)
120 $abbrev$_long($abbrev$object *v)
126 $abbrev$_float($abbrev$object *v)
132 $abbrev$_oct($abbrev$object *v)
134 /* XXXX Return object as octal stringobject */
138 $abbrev$_hex($abbrev$object *v)
140 /* XXXX Return object as hex stringobject */
143 static PyNumberMethods $abbrev$_as_number = {
144 (binaryfunc)$abbrev$_add, /*nb_add*/
145 (binaryfunc)$abbrev$_sub, /*nb_subtract*/
146 (binaryfunc)$abbrev$_mul, /*nb_multiply*/
147 (binaryfunc)$abbrev$_div, /*nb_divide*/
148 (binaryfunc)$abbrev$_mod, /*nb_remainder*/
149 (binaryfunc)$abbrev$_divmod, /*nb_divmod*/
150 (ternaryfunc)$abbrev$_pow, /*nb_power*/
151 (unaryfunc)$abbrev$_neg, /*nb_negative*/
152 (unaryfunc)$abbrev$_pos, /*nb_positive*/
153 (unaryfunc)$abbrev$_abs, /*nb_absolute*/
154 (inquiry)$abbrev$_nonzero, /*nb_nonzero*/
155 (unaryfunc)$abbrev$_invert, /*nb_invert*/
156 (binaryfunc)$abbrev$_lshift, /*nb_lshift*/
157 (binaryfunc)$abbrev$_rshift, /*nb_rshift*/
158 (binaryfunc)$abbrev$_and, /*nb_and*/
159 (binaryfunc)$abbrev$_xor, /*nb_xor*/
160 (binaryfunc)$abbrev$_or, /*nb_or*/
161 (coercion)$abbrev$_coerce, /*nb_coerce*/
162 (unaryfunc)$abbrev$_int, /*nb_int*/
163 (unaryfunc)$abbrev$_long, /*nb_long*/
164 (unaryfunc)$abbrev$_float, /*nb_float*/
165 (unaryfunc)$abbrev$_oct, /*nb_oct*/
166 (unaryfunc)$abbrev$_hex, /*nb_hex*/
169 /* ------------------------------------------------------- */