Ciao, I'm looking inside the mpq directory, to perform something similar to Torbjorn's change "mpz: Use MPZ_REALLOC return value when possible", that's why I revive an old question...
Il Ven, 24 Febbraio 2012 12:32 pm, Torbjorn Granlund ha scritto: > bodr...@mail.dm.unipi.it writes: > I always used the MPZ_REALLOC macro, to enlarge (if needed) the memory > area available for an integer. This macro gives a (possibly new) pointer > with the requested size available... but it also copies the content. > > Sometimes I know in advance that the content can be discarded. Is there > I use this trick for that: > > rp = realloc (rp, 1); > rp = realloc (rp, newsize); > > I suspect there is a lot to win from using such a trick, at least of the ... > I am not sure how to deal with this in GMP. We could add a flag field > in MPZ_REALLOC, or have special functions+macros. Most of the uses of MPZ_REALLOC in mpq don't need the data relocation at all, because the next step usually consists in overwriting them. Do you mind if I define a new macro MPZ_NEWALLOC? Currently it should be the same as MPZ_REALLOC, but it can be changed in the future... Regards, Marco PS: I'm also removing LIMBS from gmp-impl.h, an alias for PTR. -- http://bodrato.it/papers/ _______________________________________________ gmp-devel mailing list gmp-devel@gmplib.org http://gmplib.org/mailman/listinfo/gmp-devel