IRC channel logs

2021-11-23.log

back to list of logs

<wingo>a tiny update -- it seems that we will be able to incrementally move to inline allocation of bignum digits ("limbs"). you can make an mpz_t that wraps an existing mp_limb_t array without copying and without involving the allocator
<wingo>so our bignums can be just tag, digit length (signed), and digits (inline)
<civodul>wingo: nice
<civodul>without involving the allocator of GMP you mean, right?
***sneek_ is now known as sneek
<dsmith>!uptime
<sneek>I've been running for 19 days
<sneek>This system has been up 17 weeks, 5 days, 21 hours, 55 minutes
<wingo>civodul: yeah. i think in some cases we might even want to allow gmp to use malloc to allocate temporary mpz values, either because computing the size is too tricky for guile or just as an intermediate part of a port to inline allocation. in that case to get a SCM bignum you'd just reach in and copy the digits out from the mpz into the inline digits of the bignum
<wingo>and then mpz_clear the temporary
<civodul>ok, i see
<civodul>so we'd still use mpz, but as a last resort
<dsmith-work>{appropriate time} Greetings, Guilers
<dsmith-work>wingo: So.. Not changing to mpn_* ?
<wingo>dsmith-work: the important thing is the inline digit allocation. we can use mpn sometimes and mpz sometimes
<dsmith-work>Ok