diff --git a/src/sage/libs/pari/convert_sage_real_mpfr.pyx b/src/sage/libs/pari/convert_sage_real_mpfr.pyx index 98db6023dc9..5fd7fba1c47 100644 --- a/src/sage/libs/pari/convert_sage_real_mpfr.pyx +++ b/src/sage/libs/pari/convert_sage_real_mpfr.pyx @@ -28,7 +28,7 @@ cpdef Gen new_gen_from_real_mpfr_element(RealNumber self): # We round up the precision to the nearest multiple of wordsize. cdef int rounded_prec - rounded_prec = (self.prec() + wordsize - 1) & ~(wordsize - 1) + rounded_prec = nbits2prec(self.prec()) # Yes, assigning to self works fine, even in Cython. if rounded_prec > prec: @@ -48,7 +48,7 @@ cpdef Gen new_gen_from_real_mpfr_element(RealNumber self): exponent = mpfr_get_z_exp(mantissa, self.value) # Create a PARI REAL - pari_float = cgetr(2 + rounded_prec / wordsize) + pari_float = cgetr(rounded_prec) pari_float[1] = evalexpo(exponent + rounded_prec - 1) + evalsigne(mpfr_sgn(self.value)) mpz_export(&pari_float[2], NULL, 1, wordsize // 8, 0, 0, mantissa) mpz_clear(mantissa)