Lines Matching +refs:sign +refs:shift

17 fmpz_bit_unpack(fmpz_t coeff, mp_srcptr arr, flint_bitcnt_t shift,  in fmpz_bit_unpack()  argument
20 mp_limb_t mask, sign; in fmpz_bit_unpack() local
21 ulong limbs = (shift + bits) / FLINT_BITS; in fmpz_bit_unpack()
22 ulong rem_bits = (shift + bits) % FLINT_BITS; in fmpz_bit_unpack()
26 sign = ((((mp_limb_t) 1) << (rem_bits - 1)) & arr[limbs]); in fmpz_bit_unpack()
28 sign = ((((mp_limb_t) 1) << (FLINT_BITS - 1)) & arr[limbs - 1]); in fmpz_bit_unpack()
39 ((arr[0] >> shift) + (arr[1] << (FLINT_BITS - shift))) & mask; in fmpz_bit_unpack()
41 (*coeff) = (arr[0] >> shift) & mask; in fmpz_bit_unpack()
44 if (sign) in fmpz_bit_unpack()
48 sign = (*coeff < (mp_limb_signed_t) 0 ? (mp_limb_t) 1 : (mp_limb_t) 0); in fmpz_bit_unpack()
66 return (sign != (mp_limb_t) 0); in fmpz_bit_unpack()
85 if (shift) in fmpz_bit_unpack()
86 mpn_rshift(p, arr, l, shift); in fmpz_bit_unpack()
92 p[l - 1] += (arr[limbs] << (FLINT_BITS - shift)); in fmpz_bit_unpack()
101 if (sign != (mp_limb_t) 0) in fmpz_bit_unpack()
118 sign = 1; in fmpz_bit_unpack()
131 sign = 0; in fmpz_bit_unpack()
141 return sign; in fmpz_bit_unpack()
147 flint_bitcnt_t shift, flint_bitcnt_t bits) in fmpz_bit_unpack_unsigned() argument
149 ulong limbs = (shift + bits) / FLINT_BITS; in fmpz_bit_unpack_unsigned()
150 ulong rem_bits = (shift + bits) % FLINT_BITS; in fmpz_bit_unpack_unsigned()
162 ((arr[0] >> shift) + (arr[1] << (FLINT_BITS - shift))) & mask; in fmpz_bit_unpack_unsigned()
164 (*coeff) = (arr[0] >> shift) & mask; in fmpz_bit_unpack_unsigned()
183 if (shift) in fmpz_bit_unpack_unsigned()
184 mpn_rshift(p, arr, l, shift); in fmpz_bit_unpack_unsigned()
190 p[l - 1] += (arr[limbs] << (FLINT_BITS - shift)); in fmpz_bit_unpack_unsigned()