Jeroen Demeyer on Tue, 10 Feb 2009 12:53:40 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
PATCH: gcmp1 and gcmp_1 for t_SERs |
Hello pari-dev,It seems that gcmp1() and gcmp_1() were not implemented for t_SER (they always returned 0). This patch should fix that.
CHANGES: - Implemented gcmp1() and gcmp_1() for t_SERs. Cheers, Jeroen
Index: src/basemath/gen2.c =================================================================== --- src/basemath/gen2.c (revision 11590) +++ src/basemath/gen2.c (working copy) @@ -406,6 +406,8 @@ int gcmp1(GEN x) { + long i; + switch(typ(x)) { case t_INT: @@ -434,6 +436,12 @@ case t_POL: return lg(x)==3 && gcmp1(gel(x,2)); + + case t_SER: + if (signe(x) == 0 || valp(x) != 0 || !gcmp1(gel(x,2))) return 0; + for (i = 3; i < lg(x); i++) if (!gcmp0(gel(x,i))) return 0; + return 1; + } return 0; } @@ -443,7 +451,7 @@ gcmp_1(GEN x) { pari_sp av; - long y; + long i, y; GEN p1; switch(typ(x)) @@ -478,6 +486,11 @@ case t_POL: return lg(x)==3 && gcmp_1(gel(x,2)); + + case t_SER: + if (signe(x) == 0 || valp(x) != 0 || !gcmp_1(gel(x,2))) return 0; + for (i = 3; i < lg(x); i++) if (!gcmp0(gel(x,i))) return 0; + return 1; } return 0; }