Karim Belabas on Wed, 18 Jan 2006 16:12:06 +0100


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

Re: Missing functions in CVS


* Ilya Zakharevich [2006-01-16 20:35]:
> On Mon, Jan 16, 2006 at 06:38:51PM +0100, Karim Belabas wrote:
> > > Also, where are
> > > 
> > >   initial_value()
> > >   bl_prev()
> > > 
> > > ?
> > 
> > Both are static to the code modules that require them [respectively
> > anal.c and init.c] and no longer public. 
> > 
> > They never were documented. Why do you need them ? debugging ?
> 
> Yes.

1) Except for compatibility code which does not concern us here,
'initial_value' is only needed in Pari.xs:installep() 
( a copy of an old version of the identically named static routine in anal.c).

This is then used in PARIvar, findVariable: can't you use fetch_named_var()
in there ?

2) bl_prev() is required in dumpHeap in order to traverse the linked
list of PARI 'blocs' which are neither documented, nor accessible.

I can provide a public routine

  traverseheap( void (*f)(void *D, GEN x), void *data )

that would successively apply f(data, x) to each GEN x in the PARI heap,
starting from the most recent one.

Would that be suitable ?

Cheers,

    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]