Bill Allombert on Mon, 8 Sep 2003 16:06:08 +0200

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

Re: nfeltpowmodpr segfault on degree-1 ideals

On Mon, Sep 08, 2003 at 01:57:58PM +0200, Karim BELABAS wrote:
> P.S2: there was some problems with the precise specifications of the
> "modular" routines, e.g

Since I initially designed that, I suppose I should say a word here:

> * are t_INT allowed as representants for elements in polynomial quotient rings
> (currently "often". Fqxxx routines should be used instead but...).

No, they are not. The Fq_ routines exist just for that purpose.

> * does omitting an argument (p = NULL or T = NULL) corresponds to cancelling
> the reduction (mod p or mod T), or does T = NULL correspond to the more
> specific case of a prime field.  The latter is more useful since one can
> suppress the reduction mod p to work in char. 0 quotient rings R[X] / (T),
> whereas there's no reason to use a FpXQ routine and to suppress reduction
> mod T.

T=NULL should not be allowed at all. p=NULL was allowed in the more
low-level functions (FpX_) because there were no matching (ZX_)
functions and that it make stack handling easier,, but it should not
be allowed in general.

I much prefer several layer of interface with precise semantic than a
catch all interface with all sort of gotcha.
The same is valid for functions handling polynomials with C-long coefs.
Call them Fpx_*.

> Since the routines are not yet documented, it would be a good idea to decide
> once and for all.

They are documented in the 'Modular' file. Did I ever post it ?