Karim BELABAS on Wed, 6 Nov 2002 16:50:52 +0100 (MET)

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

Re: CVS branch gmp-kernel-2-2-5

On Wed, 6 Nov 2002, Bill Allombert wrote:
> --- ratlift() is not implemented. This looks difficult to do without
> an insight of the code. Help appreciate (Gerhart ?). It need to either
> be ported to the t_INT API, or rewrtten for the gmp kernel.

The code is a relatively straightforward implementation of
Collins/Encarnacion's paper (see comment above function code).

Porting to the new t_INT API should be easy. There are only a few accesses to
x[2] for "high word of x" (generally in the case lgefint(x) == 3). Everything
else is high-level calls.

Any particular problem I have overlooked ?

> --- The /*HACK*/ in the code need to be investigated and guard values added,
> else stack overrun will happen.

Yes. It's probably better to try and eliminate them all.

> --- No Montgomery multiplication support. The GMP code for that is private to
> GMP.

Maybe powmodulo can be moved to the kernel then ? (then we could use GMP's
implementation, including Mongtomery's REDC).

> --- diviiexact is just a call to divii.

Should be a wrapper to mpz_divexact (the exact equivalent).

> --- Lots of things need tuning/testing.

Any comparison data so far ?

Thanks for your work !

Karim Belabas                    Tel: (+33) (0)1 69 15 57 48
Dép. de Mathematiques, Bat. 425  Fax: (+33) (0)1 69 15 60 19
Université Paris-Sud             Email: Karim.Belabas@math.u-psud.fr
F-91405 Orsay (France)           http://www.math.u-psud.fr/~belabas/
PARI/GP Home Page: http://www.parigp-home.de/