Bill Allombert on Tue, 10 Sep 2002 19:24:24 +0200


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

functions returning int with 'l' protocodes.


Hello PARI developers,

Comparison functions usually return an `int' not a `long'.
This is correct since they always returns 0, 1 or -1.

However some of them are available from GP, but there is
not protoype letter for int, so we use l instead.

But this is wrong, since on 64bit mechines, int is 32 bit and
long 64bit.

On ia64 PARI compiled with gcc -g (for all versions) do not pass
the bench, because in some cases, (int) -1 became (long) 2^32-1,
which is correct, since we have hid the cast from the compiler.

FIx involves either add a new letter code for integers, or
`upgrade' all functions return int to long.
The second option seems better.

Cheers,

Bill.