Ilya Zakharevich on Thu, 19 Jan 2006 00:24:18 +0100


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

Re: Missing functions in CVS


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?

> 2) complicated 

No more than many other GP/PARI functions.

>  		 and not too well documented

My opinion here may be skewed, but I also did not see any
signification difference with other GP/PARI functions.

> 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).

>			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".

> 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?

Puzzled,
Ilya