Jeroen Demeyer on Tue, 11 Sep 2018 10:35:46 +0200

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

err_e_STACK should be a universal constant


As far as I know, every GEN returned by the PARI library falls in one of these 3 cases:

* on PARI stack
* clone
* universal constant

The only exception is err_e_STACK which is effectively a universal constant but is_universal_constant() returns 0 for it. Is there a reason for that?

I am asking in the context of Python bindings for PARI. The existing cypari2 package used to always copy everything. Now I'm trying to improve the memory management by keeping objects on the PARI stack for a longer time. To do this, I need to distinguish between the 3 cases I mentioned above and err_e_STACK is the only object (that I found so far) where this fails.