[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bignum speedup patch causes crash at startup
From: |
Eli Zaretskii |
Subject: |
Re: Bignum speedup patch causes crash at startup |
Date: |
Tue, 04 Sep 2018 19:24:21 +0300 |
> Date: Tue, 04 Sep 2018 18:10:30 +0300
> From: Eli Zaretskii <address@hidden>
> Cc: address@hidden
>
> Paul, why do we need to call init_bignum_once at dump time?
And btw, why on earth this call:
0x01231e45 in Fround (arg=make_number(9), divisor=make_number(1))
would need to use GMP?? It's due to this code:
if (!FLOATP (arg) && !FLOATP (divisor))
{
if (EQ (divisor, make_fixnum (0)))
xsignal0 (Qarith_error);
int_divide (mpz[0],
*bignum_integer (&mpz[0], arg),
*bignum_integer (&mpz[1], divisor));
return make_integer_mpz ();
}
I don't understand why it prefers GMP calls to a simple double
division, when both arguments are fixnums. What am I missing?
Re: Bignum speedup patch causes crash at startup, Paul Eggert, 2018/09/04