| Karim Belabas on Thu, 20 Nov 1997 19:17:48 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| patch4 |
> [From my message 9 to this list]:
> default(histsize,1) \\ clear all
> default(histsize,500) \\ I still want an history after all...
>
> Hum, this just prompted the discovery two unrelated bugs.
> 1) histsize can't be 0 (I wonder why I forbid it, now that I think of it)
> 2) when histsize is 1 and an error occur, the last result is bizarrely
> forgotten.
Ok, now I remember why I wanted histsize positive (convoluted explanations
available through private email...). So (1) is not a bug after all
(the error message was misspelled, though).
And number (2) was a stupid off-by-1 error. Since I mentioned these on this
list I'm posting a patch, by no means a major one...
Cheers, Karim.
========================= patch 4 (2.0.alpha) ============================
*** src/gp/gp.c.orig Fri Nov 14 04:53:34 1997
--- src/gp/gp.c Thu Nov 20 19:05:47 1997
***************
*** 456,462 ****
{
avma = top; tglobal = tloc;
try_to_recover=0; recover(listloc); try_to_recover=1;
! len = (tglobal % histsize) + 1;
for ( ; len<=histsize; len++) g[len]=NULL;
parisize = top - bot;
}
--- 456,462 ----
{
avma = top; tglobal = tloc;
try_to_recover=0; recover(listloc); try_to_recover=1;
! len = (tglobal % histsize) + 2;
for ( ; len<=histsize; len++) g[len]=NULL;
parisize = top - bot;
}
***************
*** 1186,1192 ****
if (newsize==histsize) return;
if (newsize<1)
! err(talker,"histsory size must be positive");
gg = (GEN *) gpmalloc((newsize+1)*sizeof(GEN));
for (i=0; i<=newsize; i++) gg[i]=NULL;
--- 1186,1192 ----
if (newsize==histsize) return;
if (newsize<1)
! err(talker,"history size must be positive");
gg = (GEN *) gpmalloc((newsize+1)*sizeof(GEN));
for (i=0; i<=newsize; i++) gg[i]=NULL;
--
Karim Belabas e-mail:
Max-Planck-Institut fuer Mathematik karim@mpim-bonn.mpg.de
Gottfried-Claren-Str. 26 tel:
53225 Bonn (Germany) (00 49 228) 402-245