Karim BELABAS on Mon, 18 Jan 1999 18:42:28 +0100 (MET) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: nf.sign in 2.0.12 |
[Ilya wrote:] > Since I cannot compile 2.0.13 - neither with cc, nor with gcc - I > report a bug in 2.0.12. > > ? res=-23708160*x^9 - 225566208*x^8 - 1131314688*x^7 - 3968372736*x^6 - > 7276863 744*x^5 - 1112932224*x^4 + 22694392512*x^3 + 49279399488*x^2 + > 50845741200*x + 22483386864 > %1 = -23708160*x^9 - 225566208*x^8 - 1131314688*x^7 - 3968372736*x^6 - > 727686374 4*x^5 - 1112932224*x^4 + 22694392512*x^3 + 49279399488*x^2 + > 50845741200*x + 224 83386864 > ? nf=nfinit(res); > *** Warning: non-monic polynomial. I shall transform it. > ? nf.sign > *** incorrect type in .sign: nf.sign > > (I also got a segfault when execution the same later in a long session.) It's not exactly a bug: since the defining polynomial had to be changed, the output is not a real "nf" since it also gives the transformation. But I guess it doesn't hurt to support that format also. [Beware that most PARI functions which expect a number field won't recognize that format: since we changed user's data behind his back, it looks better to have user acknowledge the fact and do nf = nf[1] himself, if he doesn't care about the transform.] Karim. *** src/basemath/base1.c.orig Tue Dec 15 21:51:37 1998 --- src/basemath/base1.c Mon Jan 18 18:35:40 1999 *************** *** 103,108 **** --- 103,111 ---- case t_VEC: switch(lg(x)) { + case 3: + if (typ(x[2]) != t_POLMOD) break; + return get_bnf((GEN)x[1],t); case 6 : *t = typ_QUA; return NULL; case 10: *t = typ_NF; return NULL; case 11: *t = typ_BNF; return x; *************** *** 131,136 **** --- 134,142 ---- case t_VEC: switch(lg(x)) { + case 3: + if (typ(x[2]) != t_POLMOD) break; + return get_nf((GEN)x[1],t); case 10: *t = typ_NF; return x; case 11: *t = typ_BNF; x = (GEN)x[7]; if (typ(x)!=t_VEC || lg(x)!=10) break; -- 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://pari.home.ml.org