Hello,

Standing at the following commit:

changeset:   18465:7ecb3b2beea1
tag:         tip
user:        Niels Möller <ni...@lysator.liu.se>
date:        Sun Feb 18 20:20:57 2024 +0100
summary: mini-gmp: Fix bug in gcdext canonicalization, and strengthen related tests.

I have noticed that `mpz_remove` may reduce the number of allocated limbs after a call.

I haven't looked into this too much, but I suppose it is due to the variable `x` being initialized in the routine, whose limbs I believe are allocated in `mpz_tdiv_q`, is then being swapped with `dest`.

It is stated in the documentation that "mpz_t and mpq_t variables never reduce their allocated space.", which is sort of true given that `x` and `dest` are only being swapped, but that requires the user to know what the internals are doing.

Is this the expected behavior? Have I overlooked something perhaps? Please let me know if you need more information.

Best,
Albin
_______________________________________________
gmp-bugs mailing list
gmp-bugs@gmplib.org
https://gmplib.org/mailman/listinfo/gmp-bugs

Reply via email to