Lines Matching defs:remshift

4701 /* wordshift, remshift = divmod(shiftby, PyLong_SHIFT) */
4703 divmod_shift(PyObject *shiftby, Py_ssize_t *wordshift, digit *remshift)
4710 *remshift = lshiftby % PyLong_SHIFT;
4717 PyLongObject *wordshift_obj = divrem1((PyLongObject *)shiftby, PyLong_SHIFT, remshift);
4730 *remshift = 0;
4735 integer right by PyLong_SHIFT*wordshift + remshift bits.
4739 long_rshift1(PyLongObject *a, Py_ssize_t wordshift, digit remshift)
4748 assert(remshift < PyLong_SHIFT);
4755 shift = wordshift == 0 ? remshift : PyLong_SHIFT;
4764 /* For negative 'a', adjust so that 0 < remshift <= PyLong_SHIFT,
4765 while keeping PyLong_SHIFT*wordshift + remshift the same. This
4767 if (remshift == 0) {
4772 remshift = PyLong_SHIFT;
4787 hishift = PyLong_SHIFT - remshift;
4811 accum >>= remshift;
4828 digit remshift;
4839 if (divmod_shift(b, &wordshift, &remshift) < 0)
4841 return long_rshift1((PyLongObject *)a, wordshift, remshift);
4849 digit remshift;
4856 remshift = shiftby % PyLong_SHIFT;
4857 return long_rshift1((PyLongObject *)a, wordshift, remshift);
4861 long_lshift1(PyLongObject *a, Py_ssize_t wordshift, digit remshift)
4870 stwodigits x = m < 0 ? -(-m << remshift) : m << remshift;
4876 if (remshift)
4889 accum |= (twodigits)a->ob_digit[j] << remshift;
4893 if (remshift)
4905 digit remshift;
4916 if (divmod_shift(b, &wordshift, &remshift) < 0)
4918 return long_lshift1((PyLongObject *)a, wordshift, remshift);
4926 digit remshift;
4933 remshift = shiftby % PyLong_SHIFT;
4934 return long_lshift1((PyLongObject *)a, wordshift, remshift);