Xavier-François Roblot on Mon, 05 Jan 2009 19:55:32 +0100


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

Re: NULLs in gerepileall


Bill Allombert wrote:
> On Sun, Jan 04, 2009 at 05:03:45PM +0100, Xavier-François Roblot wrote:
>> Karim Belabas wrote:
>>> * Xavier Roblot [2009-01-04 00:17]:
>>>> Using gerepileall (and related memory management functions) on a vector
>>>> containing some NULLs gives a SIGSEV (in the function taille0_nolist).
>>>> Is there a way to solve this problem that does not require replacing
>>>> NULLs by something else? I find it very convenient, for many reasons,
>>>> to use NULLs in vectors...
> 
> Please always mentions "such reasons" if you would like us to take them
> into account. We have no choice but to ignore unknown reasons.
> 
>>> 1) NULLs are not proper GENs, hence no object containing NULLs can be a
>>> proper GEN; gerepile & friends are only guaranteed to work on proper
>>> GENs. (As it happens, some gerepile functions do accept NULL as input
>>> but this is undocumented and may not last.)
>> OK, I see. I have to say that it is very useful to have the possibility
>> to set a GEN to NULL.
> 
> Simply use gnil instead of NULL. (GP2C use gen_0 for that purpose).

What is gnil? The only mention I could find is page 158 of libpari
documentation:

d_SILENT print nothing, return gnil.

Not very helpful...

Thanks,

Xavier