Ciao, Il Mar, 1 Settembre 2015 6:46 am, Marco Bodrato ha scritto: > I think that the condition to distinguish mpzs that where not allocated > yet should be ALLOC(x)==0. As a consequence, MPZ_ROINIT_N can be the > interface for initialising you ask for. > I'd like a sort of "copy-on-write" interface, that allocates the needed
I looked into the code and realised that my proposal requires an MPZ_REALLOC or if(ALLOC(x)==0) branch in ANY place where we write into an mpz_t. E.g. mpz_combit starts with: if (limb_index + 1 < SIZ(x)) { PTR(x)[limb_index] ^= bit; return; } If we allow the ALLOC(x)==0 && SIZ(x) != 0 case, we need to insert a check also in the simpler cases... Regards, m -- http://bodrato.it/papers/ _______________________________________________ gmp-devel mailing list gmp-devel@gmplib.org https://gmplib.org/mailman/listinfo/gmp-devel