Gerhard Niklasch on Sat, 29 Aug 1998 10:35:50 +0200 (MET DST) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: bug of deriv |
In response to > Message-Id: <19980829165829F.ohgisi@payila.dj.kit.ac.jp> > Date: Sat, 29 Aug 1998 16:58:29 +0900 (JST) > From: Kiyoshi Ohgishi <ohgisi@payila.dj.kit.ac.jp> > I found that the function "deriv" doesn't work as I expected. [...] > ? deriv(x*y,y) > %1 = 0 The following patch should cure the problem. (ATTN Karim: it should also apply cleanly to your pre-2.0.12 snapshot.) Thanks for discovering this, Gerhard bash$ diff -u src/basemath/gen3.c.orig src/basemath/gen3.c --- src/basemath/gen3.c.orig Sat Aug 29 10:28:48 1998 +++ src/basemath/gen3.c Sat Aug 29 10:29:16 1998 @@ -1245,15 +1245,15 @@ { y = cgetg(lx+1,t_POL); for (i=2; i<=lx; i++) y[i] = lderiv((GEN)x[i],v); - v = vx; + y[1] = evallgef(lx+1) | evalvarn(vx); } else { if (lx<3) return gzero; y = cgetg(lx,t_POL); for (i=2; i<lx ; i++) y[i] = lmulsg(i-1,(GEN)x[i+1]); + y[1] = evallgef(lx) | evalvarn(v); } - y[1] = evallgef(lx) | evalvarn(v); return normalizepol(y); case t_SER: