memory allocation
Marc Glisse
marc.glisse at inria.fr
Sat Jun 5 19:29:43 CEST 2010
On Sat, 5 Jun 2010, Torbjorn Granlund wrote:
> Marc Glisse <marc.glisse at inria.fr> writes:
>
> There are many places where the required size could be computed more
> tightly...
>
> It is not clear how to make it more tightly in the case of
> mpz_cdiv_q_2exp, though, without adding more logic.
That's exactly what I said. You can compute a better bound, but computing
that bound is more complicated (for this function, the mpn_add_1 can only
require an extra limb if the shift is by a multiple of the limb size, and
this test should be enough to never allocate more than 1 extra limb).
> What other places do you have in mind?
Last time I posted something related, your answer was:
"*If* it is a good idea, the same trick applies to dozens of other places
in GMP."
http://gmplib.org/list-archives/gmp-bugs/2008-August/001135.html
(no, I don't have anything particular in mind)
By the way, the GMP manual already documents the memory requirements of
several mpz functions in mpz_array_init. I am not sure it would hurt that
much to document very conservative bounds (as opposed to tight bounds on
the current behavior), although that's yet more work...
--
Marc Glisse
More information about the gmp-devel
mailing list