Karim Belabas on Sat, 21 Jan 2006 15:26:52 +0100


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

Re: Missing functions in CVS


* Ilya Zakharevich [2006-01-19 00:24]:
> On Mon, Jan 16, 2006 at 06:38:51PM +0100, Karim Belabas wrote:
> > * Ilya Zakharevich [2005-11-24 05:40]:
> > > I'm trying to build Math::Pari with the CVS version, and I see that
> > > some functions are missing.  E.g., I can't find where is
> > > 
> > >   _gshift3()	   /* Available from 2.2.1 */
> > 
> > This one was removed because it was 
> > 
> > 1) incompatible with the GMP kernel
> 
> How comes?  GMP kernel still provides an integer as an array of words,
> is not it?

Yes, reversed. 'incompatible' was too strong: 'needed a thorough rewrite,
painful to test completely given the specifications' would be more
accurate.

> > 3) not used anywhere, 
> 
> To the contrary, I expect it was used in about 90% of usages of PARI
> as library (since - good or bad - Math::Pari is widely used for SSHing).

I don't understand. You mean that 2-complement semantic for
shifts of negative integers was intensively used in Math::Pari
(or by its users) ? Can you give a realistic example ?

> >			and only catered for consistency with an alternative
> >    definition in a relatively minor case.
> 
> "Relatively minor" is, of course, in eyes of a beholder.  There are
> two usages of left shift: as division by power of 2, and as operation
> over bit arrays.  You cut out the second usage.  I do not think that
> bitarray usage is "a relatively minor case".

bitarrays cater for extreme efficiency, which the GP interpreter
overhead essentially prevents.

> > 4) easy to emulate at a minor efficiency cost.
> 
> Compare with "1" and "2"; if it were so, why not make it such with GMP
> kernel?

What I meant was that for bitarray usage, bittest should be sufficient
(at a minor efficiency cost, agreed).

    Karim.
-- 
Karim Belabas                  Tel: (+33) (0)5 40 00 26 17
Universite Bordeaux 1          Fax: (+33) (0)5 40 00 69 50
351, cours de la Liberation    http://www.math.u-bordeaux.fr/~belabas/
F-33405 Talence (France)       http://pari.math.u-bordeaux.fr/  [PARI/GP]