Return to contfrac.gp CVS log | Up to [local] / OpenXM_contrib / pari-2.2 / examples |
1.1 ! noro 1: period(D) = ! 2: { ! 3: local(u,v,j,r,s); ! 4: ! 5: if (type(D) != "t_INT" || D < 2, return(-1)); ! 6: u = sqrtint(D); v = D-u^2; ! 7: if (!v, return(0)); ! 8: s = v; ! 9: r = u; j = 0; ! 10: until (u==r && v==s, ! 11: u = (r+u)\v * v - u; ! 12: v = (D-u^2)\v; j++; ! 13: ); j ! 14: }