Lines Matching refs:shift
761 int shift = mantissa0_size - msb;
767 if (shift == 0) {
774 } else if (shift < 0) {
775 m0 = (m_mant[m_msw] >> -shift) & ~(1 << mantissa0_size);
776 m1 = m_mant[m_msw] << (bits_in_word + shift);
778 m1 |= m_mant[m_msw - 1] >> -shift;
779 guard = (m_mant[m_msw - 1] >> (-shift - 1)) & 1;
782 m0 = (m_mant[m_msw] << shift) & ~(1 << mantissa0_size);
784 m0 |= m_mant[m_msw - 1] >> (bits_in_word - shift);
785 m1 = m_mant[m_msw - 1] << shift;
787 m1 |= m_mant[m_msw - 2] >> (bits_in_word - shift);
788 guard = (m_mant[m_msw - 2] >> (bits_in_word - shift - 1)) & 1;
841 int shift = 0;
846 while (shift < 64 && m_msw >= idx && idx >= m_lsw) {
847 result += static_cast<uint64>(m_mant[idx]) << shift;
848 shift += bits_in_word;
1589 // destructive shift mantissa to the left
1620 // destructive shift mantissa to the right
2211 int shift = exponent % bits_in_word;
2212 if (shift < 0) {
2213 shift += bits_in_word;
2216 if (shift) {
2217 shift_left(shift);
2222 m_wp = (shift - exponent) / bits_in_word;
2237 int shift = new_wp - m_wp;
2240 (*result)[j + shift] = m_mant[j];