[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bignum branch
From: |
Eli Zaretskii |
Subject: |
Re: bignum branch |
Date: |
Sun, 15 Jul 2018 18:01:55 +0300 |
> From: Tom Tromey <address@hidden>
> Date: Sun, 15 Jul 2018 07:46:39 -0600
> Cc: address@hidden
>
> Andy> b) Use 64bit long long for EMACS_INT, and do extra work to pass native
> Andy> values into GMP in two halves, i.e. something like:
> Andy> EMACS_INT i;
> Andy> mpz_t val, tmp;
> Andy> mpz_init_set_si(val, (i >> 32));
> Andy> mpz_mul_2exp(val, val, 32);
> Andy> mpz_init_set_si(tmp, (i & 0xffffffff);
> Andy> void mpz_ior(val, val, tmp);
> Andy> mpz_clear(tmp);
>
> I was thinking this is what I' have emacs do when
> sizeof(EMACS_INT) > sizeof(long).
Yes, we need such wrappers in those cases. Another use case is a
32-bit build --with-wide-int.
Thanks.
- Re: bignum branch, (continued)
- Re: bignum branch, Andy Moreton, 2018/07/13
- Re: bignum branch, Andy Moreton, 2018/07/13
- Re: bignum branch, Andy Moreton, 2018/07/13
- Re: bignum branch, Eli Zaretskii, 2018/07/14
- Re: bignum branch, Andy Moreton, 2018/07/14
- Re: bignum branch, Tom Tromey, 2018/07/15
- Re: bignum branch,
Eli Zaretskii <=
- Re: bignum branch, Stefan Monnier, 2018/07/16
- Re: bignum branch, Eli Zaretskii, 2018/07/16
- Re: bignum branch, Stefan Monnier, 2018/07/16
- Re: bignum branch, Eli Zaretskii, 2018/07/16
- Re: bignum branch, Stefan Monnier, 2018/07/16
- Re: bignum branch, Eli Zaretskii, 2018/07/16
- Re: bignum branch, Tom Tromey, 2018/07/16
- Re: bignum branch, Andy Moreton, 2018/07/16
- Re: bignum branch, Andy Moreton, 2018/07/21
- Re: bignum branch, Tom Tromey, 2018/07/22