Karim BELABAS on Wed, 1 Mar 2000 17:55:53 +0100 (MET)


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

Re: [PATCH 2.0.18] \x upgraded


[Ilya:]
> But the main difference is that all the special flags are put near the
> memory words which contain the pertinent info, and that *all* the info
> contained in the special words is put out (as far as I understand).

I'm not sure I like this: too much output, a lot of it being "trivial",
[at least if you need to use the function in the first place...]

I only use \x (or rather the underlying library function) as a debugging help
for pretty tough bugs, like gerepile problems affecting huge objects. So, I'd
rather introduce some way of cutting down even more on the output, e.g. not
printing components which are too deeply nested [currently, it's only
possible to cancel the "leaves" (non-recursive GENs)].

Maybe it would be a better idea to have a "high level" printer that would
output all the internal info in readable form and skip the addresses and
codewords, and retain the current one which basically does the opposite ?

What do others think ?

> Keep in mind that I do not know what is t_VECSMALL, so I did not
> change the way it is output.

t_SMALL and t_VECSMALL are not "official" types. They may (and in fact,
probably will in their current implementation) disappear in future versions.

> Here is an example of the new output:
> 
> ? x+y^3
> %1 = x + y^3
> ? \x
> [&=0067ef24] (HEAP) POL(len=4,CLONE):15000004  (+)(varn=0,eff-len=4):40000004  0067ef34  0067ef70  
>   coef of degree 0 = [&=0067ef34] (HEAP) POL(len=6):14000006  (+)(varn=1,eff-len=6):40010006  0067ef4c  0067ef54  0067ef5c  0067ef64  
>     coef of degree 0 = [&=0067ef4c] (HEAP) INT(len=2):02000002  ZERO(eff-len=2):00000002  
>     coef of degree 1 = [&=0067ef54] (HEAP) INT(len=2):02000002  ZERO(eff-len=2):00000002  
>     coef of degree 2 = [&=0067ef5c] (HEAP) INT(len=2):02000002  ZERO(eff-len=2):00000002  
>     coef of degree 3 = [&=0067ef64] (HEAP) INT(len=3):02000003  (+)(eff-len=3):40000003  00000001  
>   coef of degree 1 = [&=0067ef70] (HEAP) INT(len=3):02000003  (+)(eff-len=3):40000003  00000001  

  Karim.
__
Karim Belabas                    email: Karim.Belabas@math.u-psud.fr
Dep. de Mathematiques, Bat. 425
Universite Paris-Sud             Tel: (00 33) 1 69 15 57 48
F-91405 Orsay (France)           Fax: (00 33) 1 69 15 60 19
--
PARI/GP Home Page: http://www.parigp-home.de/