Home | History | Annotate | Download | only in Objects

Lines Matching refs:PyLongObject

31 static PyLongObject small_ints[NSMALLNEGINTS + NSMALLPOSINTS];
56 static PyLongObject *
57 maybe_small_long(PyLongObject *v)
63 return (PyLongObject *)get_small_int(ival);
76 _PyLong_Negate(PyLongObject **x_p)
78 PyLongObject *x;
80 x = (PyLongObject *)*x_p;
86 *x_p = (PyLongObject *)PyLong_FromLong(-MEDIUM_VALUE(x));
113 static PyLongObject *
114 long_normalize(PyLongObject *v)
126 /* _PyLong_FromNbInt: Convert the given object to a PyLongObject
131 PyLongObject *
140 return (PyLongObject *)integral;
155 return (PyLongObject *)result;
172 return (PyLongObject *)result;
180 ((PY_SSIZE_T_MAX - offsetof(PyLongObject, ob_digit))/sizeof(digit))
182 PyLongObject *
185 PyLongObject *result;
186 /* Number of bytes needed is: offsetof(PyLongObject, ob_digit) +
196 result = PyObject_MALLOC(offsetof(PyLongObject, ob_digit) +
202 return (PyLongObject*)PyObject_INIT_VAR(result, &PyLong_Type, size);
206 _PyLong_Copy(PyLongObject *src)
208 PyLongObject *result;
233 PyLongObject *v;
303 PyLongObject *v;
332 PyLongObject *v;
395 PyLongObject *v;
409 v = (PyLongObject *)vv;
507 PyLongObject *v;
521 v = (PyLongObject *)vv;
563 PyLongObject *v;
576 v = (PyLongObject *)vv;
607 PyLongObject *v;
620 v = (PyLongObject *)vv;
650 PyLongObject *v;
659 v = (PyLongObject *)vv;
680 PyLongObject *lo;
704 PyLongObject *v = (PyLongObject *)vv;
715 PyLongObject *v = (PyLongObject *)vv;
752 PyLongObject* v; /* result */
855 _PyLong_AsByteArray(PyLongObject* v,
1046 PyLongObject *v;
1090 PyLongObject *v;
1119 PyLongObject *v;
1159 PyLongObject *v;
1189 PyLongObject *v;
1200 v = (PyLongObject *)vv;
1221 res = _PyLong_AsByteArray((PyLongObject *)v, (unsigned char *)&bytes,
1241 PyLongObject *v;
1254 v = (PyLongObject*)vv;
1260 res = _PyLong_AsByteArray((PyLongObject *)vv, (unsigned char *)&bytes,
1276 PyLongObject *v;
1285 v = (PyLongObject *)vv;
1306 PyLongObject *lo;
1341 PyLongObject *v;
1355 v = (PyLongObject *)vv;
1555 static PyLongObject *
1556 divrem1(PyLongObject *a, digit n, digit *prem)
1559 PyLongObject *z;
1580 PyLongObject *scratch, *a;
1588 a = (PyLongObject *)aa;
1772 PyLongObject *a = (PyLongObject *)aa;
2014 long_from_binary_base(const char **str, int base, PyLongObject **res)
2022 PyLongObject *z;
2113 PyLongObject *z = NULL;
2386 PyLongObject *tmp;
2525 static PyLongObject *x_divrem
2526 (PyLongObject *, PyLongObject *, PyLongObject **);
2532 long_divrem(PyLongObject *a, PyLongObject *b,
2533 PyLongObject **pdiv, PyLongObject **prem)
2536 PyLongObject *z;
2547 *pdiv = (PyLongObject*)PyLong_FromLong(0);
2550 *prem = (PyLongObject *)long_long((PyObject *)a);
2562 *prem = (PyLongObject *) PyLong_FromLong((long)rem);
2599 static PyLongObject *
2600 x_divrem(PyLongObject *v1, PyLongObject *w1, PyLongObject **prem)
2602 PyLongObject *v, *w, *a;
2738 _PyLong_Frexp(PyLongObject *a, Py_ssize_t *e)
2869 return (double)MEDIUM_VALUE((PyLongObject *)v);
2871 x = _PyLong_Frexp((PyLongObject *)v, &exponent);
2889 long_compare(PyLongObject *a, PyLongObject *b)
2923 result = long_compare((PyLongObject*)self, (PyLongObject*)other);
2953 long_hash(PyLongObject *v)
3012 static PyLongObject *
3013 x_add(PyLongObject *a, PyLongObject *b)
3016 PyLongObject *z;
3022 { PyLongObject *temp = a; a = b; b = temp; }
3046 static PyLongObject *
3047 x_sub(PyLongObject *a, PyLongObject *b)
3050 PyLongObject *z;
3058 { PyLongObject *temp = a; a = b; b = temp; }
3069 return (PyLongObject *)PyLong_FromLong(0);
3072 { PyLongObject *temp = a; a = b; b = temp; }
3101 long_add(PyLongObject *a, PyLongObject *b)
3103 PyLongObject *z;
3137 long_sub(PyLongObject *a, PyLongObject *b)
3139 PyLongObject *z;
3170 static PyLongObject *
3171 x_mul(PyLongObject *a, PyLongObject *b)
3173 PyLongObject *z;
3262 kmul_split(PyLongObject *n,
3264 PyLongObject **high,
3265 PyLongObject **low)
3267 PyLongObject *hi, *lo;
3289 static PyLongObject *k_lopsided_mul(PyLongObject *a, PyLongObject *b);
3295 static PyLongObject *
3296 k_mul(PyLongObject *a, PyLongObject *b)
3300 PyLongObject *ah = NULL;
3301 PyLongObject *al = NULL;
3302 PyLongObject *bh = NULL;
3303 PyLongObject *bl = NULL;
3304 PyLongObject *ret = NULL;
3305 PyLongObject *t1, *t2, *t3;
3334 return (PyLongObject *)PyLong_FromLong(0);
3516 static PyLongObject *
3517 k_lopsided_mul(PyLongObject *a, PyLongObject *b)
3522 PyLongObject *ret;
3523 PyLongObject *bslice = NULL;
3541 PyLongObject *product;
3571 long_mul(PyLongObject *a, PyLongObject *b)
3573 PyLongObject *z;
3595 fast_mod(PyLongObject *a, PyLongObject *b)
3618 fast_floor_div(PyLongObject *a, PyLongObject *b)
3661 l_divmod(PyLongObject *v, PyLongObject *w,
3662 PyLongObject **pdiv, PyLongObject **pmod)
3664 PyLongObject *div, *mod;
3670 div = (PyLongObject *)fast_floor_div(v, w);
3676 mod = (PyLongObject *)fast_mod(v, w);
3694 PyLongObject *temp;
3695 PyLongObject *one;
3696 temp = (PyLongObject *) long_add(mod, w);
3703 one = (PyLongObject *) PyLong_FromLong(1L);
3705 (temp = (PyLongObject *) long_sub(div, one)) == NULL) {
3731 PyLongObject *div;
3736 return fast_floor_div((PyLongObject*)a, (PyLongObject*)b);
3739 if (l_divmod((PyLongObject*)a, (PyLongObject*)b, &div, NULL) < 0)
3752 PyLongObject *a, *b, *x;
3759 a = (PyLongObject *)v;
3760 b = (PyLongObject *)w;
3957 PyLongObject *div, *rem;
4010 PyLongObject *mod;
4015 return fast_mod((PyLongObject*)a, (PyLongObject*)b);
4018 if (l_divmod((PyLongObject*)a, (PyLongObject*)b, NULL, &mod) < 0)
4026 PyLongObject *div, *mod;
4031 if (l_divmod((PyLongObject*)a, (PyLongObject*)b, &div, &mod) < 0) {
4050 PyLongObject *a, *b, *c; /* a,b,c = v,w,x */
4053 PyLongObject *z = NULL; /* accumulated result */
4055 PyLongObject *temp = NULL;
4060 PyLongObject *table[32] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
4065 a = (PyLongObject*)v; Py_INCREF(a);
4066 b = (PyLongObject*)w; Py_INCREF(b);
4068 c = (PyLongObject *)x;
4109 temp = (PyLongObject *)_PyLong_Copy(c);
4123 z = (PyLongObject *)PyLong_FromLong(0L);
4148 z = (PyLongObject *)PyLong_FromLong(1L);
4170 temp = (PyLongObject *)long_mul(X, Y); \
4213 temp = (PyLongObject *)long_sub(z, c);
4238 long_invert(PyLongObject *v)
4241 PyLongObject *x;
4242 PyLongObject *w;
4245 w = (PyLongObject *)PyLong_FromLong(1L);
4248 x = (PyLongObject *) long_add(v, w);
4259 long_neg(PyLongObject *v)
4261 PyLongObject *z;
4264 z = (PyLongObject *)_PyLong_Copy(v);
4271 long_abs(PyLongObject *v)
4280 long_bool(PyLongObject *v)
4286 long_rshift(PyLongObject *a, PyLongObject *b)
4288 PyLongObject *z = NULL;
4296 PyLongObject *a1, *a2;
4297 a1 = (PyLongObject *) long_invert(a);
4300 a2 = (PyLongObject *) long_rshift(a1, b);
4304 z = (PyLongObject *) long_invert(a2);
4345 PyLongObject *a = (PyLongObject*)v;
4346 PyLongObject *b = (PyLongObject*)w;
4347 PyLongObject *z = NULL;
4416 long_bitwise(PyLongObject *a,
4418 PyLongObject *b)
4422 PyLongObject *z;
4543 c = long_bitwise((PyLongObject*)a, '&', (PyLongObject*)b);
4552 c = long_bitwise((PyLongObject*)a, '^', (PyLongObject*)b);
4561 c = long_bitwise((PyLongObject*)a, '|', (PyLongObject*)b);
4571 v = _PyLong_Copy((PyLongObject *)v);
4578 PyLongObject *a, *b, *c = NULL, *d = NULL, *r;
4585 a = (PyLongObject *)aarg;
4586 b = (PyLongObject *)barg;
4596 a = (PyLongObject *)long_abs(a);
4599 b = (PyLongObject *)long_abs(b);
4622 r = (PyLongObject *)_PyLong_Copy(a);
4852 PyLongObject *tmp, *newobj;
4856 tmp = (PyLongObject *)long_new(&PyLong_Type, args, kwds);
4863 newobj = (PyLongObject *)type->tp_alloc(type, n);
4877 long_getnewargs(PyLongObject *v)
4883 long_get0(PyLongObject *v, void *context) {
4888 long_get1(PyLongObject *v, void *context) {
4922 PyLongObject *quo = NULL, *rem = NULL;
4954 if (long_divrem((PyLongObject*)a, (PyLongObject*)b, &quo, &rem) < 0)
4963 temp = long_neg((PyLongObject*)twice_rem);
4969 cmp = long_compare((PyLongObject *)twice_rem, (PyLongObject *)b);
4976 temp = long_sub(quo, (PyLongObject *)one);
4978 temp = long_add(quo, (PyLongObject *)one);
4980 quo = (PyLongObject *)temp;
4985 temp = long_add(rem, (PyLongObject *)b);
4987 temp = long_sub(rem, (PyLongObject *)b);
4989 rem = (PyLongObject *)temp;
5046 temp = long_neg((PyLongObject*)ndigits);
5071 temp = long_sub((PyLongObject *)self,
5072 (PyLongObject *)PyTuple_GET_ITEM(result, 1));
5080 long_sizeof(PyLongObject *v)
5084 res = offsetof(PyLongObject, ob_digit) + Py_ABS(Py_SIZE(v))*sizeof(digit);
5089 long_bit_length(PyLongObject *v)
5091 PyLongObject *result, *x, *y;
5113 result = (PyLongObject *)PyLong_FromSsize_t(ndigits - 1);
5116 x = (PyLongObject *)PyLong_FromLong(PyLong_SHIFT);
5119 y = (PyLongObject *)long_mul(result, x);
5126 x = (PyLongObject *)PyLong_FromLong((long)msd_bits);
5129 y = (PyLongObject *)long_add(result, x);
5162 long_to_bytes(PyLongObject *v, PyObject *args, PyObject *kwds)
5426 offsetof(PyLongObject, ob_digit), /* tp_basicsize */
5511 PyLongObject *v = small_ints;
5555 PyLongObject *v = small_ints;